Nelson Figueroa was in command for five innings, but that all changed in the sixth.
Fourteen Cardinals batters, nine St. Louis runs, 10 hits and four Astros pitchers later, Houston trailed 10-4 on the way to an 11-7 loss Thursday night.
Figueroa faced the first three Cardinals in the sixth before Fernando Abad gave up a three-run homer to Lance Berkman that put the Cardinals on top. Abad (1-2) allowed four runs and three hits in two-thirds of an inning as Houston's bullpen got drilled for seven runs.
"There (are) going to be times where bullpens are going to struggle, and we are going to score runs," Houston manager Brad Mills said. "It's nice to see the guys battle. They are going to be fine. They have too good of stuff not to. Our bullpen is going to be fine."
After Abad exited, Jeff Fulchino failed to record an out as he faced four batters and gave up two runs on four hits.
"I didn't throw that many pitches," said Fulchino, who threw 11. "It seemed like every time I threw a fastball, that was the one they ended up getting a hit on. There's not much I can say to that. ... Obviously, I didn't do my job."
Enerio Del Rosario finally got the Astros out of the inning by inducing a groundout to first by Colby Rasmus.
The sixth inning ruined what began as a great start for Figueroa. He didn't allow a hit in the first three innings and gave up one run through the first five.
Figueroa, who gave up six runs in four innings in his last start and entered the game 0-3 with an 8.55 ERA, gave up four runs on six hits with two strikeouts in five-plus innings.
"The first five went great," he said. "In the sixth inning, the proverbial wheels fell off. I couldn't do anything right. Every hit found a hole. Every ball found a place to land where nobody could make a play. That was the biggest turn in the game. When you put up a 7-spot, it's frustrating to not win the game when I was in command of that ballgame."
"I felt like I was throwing the ball well, even when I left the game," Figueroa said. "The Pujols hit and the Holliday hit, it's not like they tore the cover off the ball. Big, strong guys like that fouled off some pitches and got a hit out of it. If I take the good with the bad, it's five innings of what I'm capable of doing against a good lineup like that, and that sixth inning it didn't matter who we brought in or what the situation was, they continued to pile it on."
Even after the nine-run sixth, the Astros climbed back to 10-7 in the eighth and had the bases loaded with two outs. With Bill Hall up, Fernando Salas uncorked a slider in the dirt that bounced away from catcher Gerald Laird. Hunter Pence tried to score on the play, but he was tagged out by Laird.
"That was his read," Mills said. "He's an aggressive player, and he was trying to make an aggressive play. It's a situation where the read on the ball right away is what he felt. Aggressive baserunning is what we want. ... Sometimes we have to hold our breath, and sometimes we have to pull the reins back a bit."
Kyle McClellan (4-0) allowed eight hits and five runs in 5 2-3 innings for the win.
NOTES: Houston designated INF Joe Inglett for assignment and activated INF Clint Barmes from the disabled list after the game. ... Astros reliever Wilton Lopez, on the DL with nerve irritation in his right elbow, will throw a simulated game Saturday. ... Cardinals SS Ryan Theriot was out of the lineup for the third straight day after injuring his rib cage in batting practice Tuesday. He entered in the eighth inning.