Brendan Ryan hit a two-run single to cap a comeback fueled by two Houston errors and St. Louis beat the Astros 5-4 on Sunday.
Kyle Lohse (7-2) gave up a three-run homer to Lance Berkman, but otherwise pitched six strong innings to beat Houston for the third time this season. Ryan Franklin struck out the side in the ninth for his eighth save.
The Cardinals have won all three series with their NL Central rivals this season and 10 of the last 14 meetings.
"We took advantage, like we have all year, when another team makes a misplay, we jump on them and make them pay," Lohse said. "That's what we've got to do to win ballgames."
Wandy Rodriguez (2-2) pitched well for six innings. He and the Astros unraveled in the seventh, when the Cardinals came back from a 3-0 deficit.
Ryan Ludwick was hit by a pitch leading off the inning and Troy Glaus hit a sharp grounder that Ty Wigginton bobbled at third for an error. Yadier Molina singled to load the bases before Ludwick scored on Brian Barton's sacrifice fly to right.
Cesar Izturis, pinch-hitting for Lohse, was hit by a pitch and the bases were loaded again. Rodriguez struck out Aaron Miles, but threw a wild pitch as Ryan batted, allowing Glaus to come home.
Ryan then singled to center, scoring Molina and Izturis, and Houston manager Cecil Cooper brought in Doug Brocail to relieve Rodriguez. Joe Mather blooped an apparently routine fly to right center, but Michael Bourn dropped it and Ryan scored for a 5-3 lead.
"I'm the center fielder. I take blame for it," said Bourn, who has five errors this season. "There aren't any excuses for it."
Before the game, Cooper lamented the team's inconsistent defense over the past month. He was understandably frustrated after this one.
"We handed it to them, what else can we say?" Cooper said. "We're much, much better than that. Wandy was in command all day until that inning. There was no excuse for any of that."
Rodriguez allowed only two hits with six strikeouts in the first six innings. He retired 14 in a row after Barton's one-out single in the second. He hadn't hit a batter all season and had only one wild pitch before Sunday.
"He was outstanding," St. Louis manager Tony La Russa said. "Then, all of a sudden, the baseball gods bite you and then there's something that happens that you don't deserve to have happen."
Berkman hit his 18th homer after Hunter Pence doubled and Miguel Tejada walked in the third. Berkman drove a 3-1 pitch into the dining area in center field, a 460-foot shot. He's hit 14 of his 18 homers batting left-handed.
Lohse allowed only three hits outside of the third inning and struck out two. He's won four straight decisions.
"I made a mistake to the guy in the lineup you really can't do that to," Lohse said of Berkman. "Other than that, I felt like I made pretty good pitches."
Brad Ausmus had an RBI double in the seventh off former Astro Russ Springer. The rally ended there, as Springer set down the next three Astros in order.
Darin Erstad hit a two-out, pinch-hit double off Randy Flores in the eighth, but Bourn flied out to end the inning.
Franklin came in to close for the fourth time in four games and logged three strikeouts for the first time since May 23. He was the setup man before Jason Isringhausen went out with a lacerated hand and Springer joked with Franklin after the game that he looks more like a closer every day.
"He's full of it," Franklin said with a smile. "He said, 'When you were a setup man, you never struck anybody out. Now, you're closing, you're trying to strike everybody out."'
- Astros officials said Berkman's homer was the third-longest in Minute Maid Park history. Berkman hit the longest homer here, a 464-foot shot off Tampa Bay's Geremi Gonzalez, on June 7, 2003.
- RHP Adam Wainwright flew to St. Louis on Sunday and will have his sprained right middle finger examined by doctors on Monday. Wainwright left Saturday's game in the sixth.
- Cardinals manager Tony La Russa said rookie Mitchell Boggs will start Tuesday's game in Cincinnati. Boggs made his big league debut in Houston on Friday, pitching two innings of relief. Boggs will start in place of Todd Wellemeyer, who will be evaluated Monday for inflammation in his right elbow.