Matt Carpenter's two-run home run in the seventh inning was the difference as the St. Louis Cardinals slid past the Houston Astros, 5-4, in the finale of a two-game interleague series at Busch Stadium.
Tony Cruz was hit with the first pitch of the seventh by Jordan Lyles. After striking out pinch-hitter Yadier Molina, Lyles was replaced by Wesley Wright (0-3). Carpenter welcomed Wright with a blast to right field to give St. Louis the one-run advantage.
"I just try to take the same approach, home runs come and go," said Carpenter. "The best plan is to just put a good swing on it."
The Astros took the lead in the top half of the seventh off Seth Maness (5-1), but he earned the win thanks to Carpenter. Edward Mujica had a shaky ninth, but was able to get pinch-hitter Carlos Pena to ground into a game-ending double play to collect his 25th save of the year.
Matt Holliday had two hits and drove in a pair of runs while Matt Adams added an RBI for the Cardinals, who extended their winning streak to five games.
Brett Wallace collected four hits with an RBI and Chris Carter had a solo homer for the Astros, who have won just twice in their last 12 games.
"It's always fun to do it against them just because I know a lot of the guys," Wallace said of playing the Cardinals. "We've been here quite a bit so it's a good place to hit."
Carter took the first pitch of the second inning over the right-field wall. Wallace singled and J.D. Martinez walked, then advanced a base on a groundout. Carpenter bobbled a grounder from Matt Dominguez that allowed him to reach base safely while Wallace scored on the play. Lyles tried to bunt Martinez home from third, but he was out at the plate by first baseman Adams' throw.
Allen Craig drew a leadoff walk and advanced to second on a wild pitch to start the home half. Adams hammered a grounder through the left side of the infield to cut the deficit to one.
Jason Castro led off the fifth with a ground-rule double and advanced to third on a groundout. Martinez delivered a two-out single to center to make it a 3-1 game.
The Cardinals tied the game in the fifth with a clutch bases-loaded single on a two-out, full-count fastball that Holliday lined to right. Cruz beat out an infield single to third and pinch-hitter Shane Robinson put runners on the corners with his base hit to right. Carpenter was walked on four pitches to load the bases before Holliday's hit.
Jose Altuve singled to center to start the seventh and Carter worked a one-out walk two batters later. Wallace came through with a single to right fielder Craig, whose throw home was too late to get Altuve.
The Astros had a chance in the eighth with runners on the corners but Trevor Rosenthal got Castro to strike out to end the inning.
Lyles surrendered four runs on six hits with two walks in 6 1/3 frames, while Shelby Miller yielded three runs on five hits and five walks over five innings ... The Cardinals have won all eight games against the Astros at Busch Stadium since the start of 2012 ... Jon Jay owns the NL���s longest active errorless streak at 232 games for center fielders dating back to his last error on Aug. 24, 2011 ... Houston went 2-for-14 with runners in scoring position, while St. Louis finished 3-for-9 ... Craig snapped a nine-game hitting streak, going 0-for-2.