Updated

Matt Carpenter went 3-for-4 with three RBI and Adam Wainwright threw seven innings of one-run ball as the St. Louis Cardinals defeated the Houston Astros, 9-5, in the opener of a two-game set at Busch Stadium.

Wainwright (12-5) gave up just five hits and a walk while fanning nine in his outing. He has allowed one earned run in three of his last four starts and has also pitched seven innings or more in nine of his last 10 appearances.

"He established a breaking ball, using different speeds and mixing them with his fastball," said Cardinals manager Mike Matheny. "He did a great job."

Matt Holliday had a two-run home run while Allen Craig also had two RBI for the Cardinals, who recorded 15 hits.

St. Louis is on a four-game winning streak.

Bud Norris (6-8) was battered over five innings, surrendering seven runs on 11 hits and a walk for the Astros, who have lost nine of their last 11 games.

"Today just wasn't my day," said Norris. "I made some good pitches and I made some bad pitches and they hit all of them. That's a good hitting club over there and they had it going tonight."

Holliday started the scoring with a two-run smash in the first.

David Freese hit a leadoff single an inning later. A double by Daniel Descalso and a Jon Jay walk loaded the bases. Following a strikeout by Wainwright, Carpenter scored Freese with a sacrifice fly to left.

St. Louis scored three runs in the fourth. With Jay and Descalso on second and third, respectively, Carpenter brought both of them home with a double to right. Carlos Beltran then smacked an RBI single to right center to give the Cardinals a 6-0 lead.

In the fifth, Yadier Molina was hit by a pitch and Freese delivered a single to center. Two batters later, Jay's single to left plated Molina.

Houston got on the board in the sixth. Brett Wallace doubled to center and Jason Castro was hit by a pitch. J.D. Martinez's base hit to right center scored Wallace.

The Astros had a chance to score more with Castro at third, but Carlos Pena struck out and Marc Krauss popped out to end the inning.

Craig drove in the final two runs for the Cardinals. He brought Carpenter home with a single to right center in the sixth and followed that up with a two-out single to left that scored Beltran in the eighth.

"Even after we had a pretty good lead, these guys are still going hard," said Matheny. "Those sort of things make a difference and a habit out of these guys."

Randy Choate pitched in the ninth for St. Louis but gave up a leadoff infield single to pinch-hitter Matt Dominguez. Michael Blazek replaced Choate. He issued walks to Chris Carter and Brandon Barnes, loading the bases.

Over the next four at-bats, Jake Elmore, Jimmy Paredes, Jose Altuve and Wallace each drove in a run, cutting the deficit to 9-5.

After Castro was walked with two outs, Edward Mujica came on in relief and struck out Martinez to notch his 24th save.

Game Notes

Norris came into the game 8-5 with a 2.74 ERA in 15 starts against St. Louis ... Craig is on a nine-game hitting streak ... Carpenter has 27 doubles, most in the National League and tied with Joe Mauer and Mike Trout for second in the majors ... Jay owns the NL's longest errorless streak for center fielders with 231 games. His streak is also the longest all-time among Cardinals outfielders ... Wainwright is 13-1 in 21 games (15 starts) against Houston, with a seven-game winning streak in his last seven starts.