Another Houston Astros comeback just wasn't meant to be.
Down to their last at-bat in the ninth inning, after trailing by six runs, Hunter Pence struck out with the tying run on second base a day after Houston rallied for a win.
Houston scored three runs in the eighth inning before cutting the lead to one after Jason Bourgeois tripled in a run with one out in the ninth and scored on sacrifice fly by Michael Bourn.
Sanchez doubled when Lance Berkman couldn't get to his fly ball to right field, but Eduardo Sanchez struck out Pence to end the game and get his first career save.
"The guys put themselves into that position to have the right guys coming up," Astros manager Brad Mills said. "There were just some real good at-bats all the way around. It was nice to see the guys just keep battling back."
Utility infielder Joe Inglett started the rally in the eighth inning with a double, his first of two hits in the game. He and Bourgeois scored the first two runs and Sanchez scored the third on Brett Wallace's third hit in four at-bats.
"I think this is how we have been all year. We're a comeback team," Bourgeois said. "Maybe we are slow with the bats early, but it seems like late in game we have a lot of confidence and we believe that we can win."
The Astros didn't score until Sanchez grounded into a force and Inglett, who got on with a double, scored to make it 6-1 in the eighth inning. Pence singled in a run before Carlos Lee fell to 0 for 15 with a strikeout.
Wallace's third hit of the night, a single to left field, sent Sanchez home and pulled Houston to 6-3. But Fernando Salas retired Brian Bogusevic to end the inning.
Wallace singled with one out in the fourth inning before Cardinals' starter Kyle Lohse (4-1) retired the next eight batters. He didn't allow another hit until Wallace doubled with one out in the seventh inning.
Chris Johnson hit a long fly to the corner of right field after that, but Berkman made a nifty catch to rob him of a hit and Lohse retired J.R. Towles to end the inning.
"I think we all believe that we are going to pull together and do the things that we need to do to get a win," Wallace said. "We believe that we can do it, and we have shown that we can put rallies together and score runs. We believe in it, it's just a matter of bringing it all together and finishing."
Astros starter J.A. Happ (1-4) allowed five hits and two runs in five innings for the loss. Happ made his fifth start of the season Wednesday and allowed fewer than four runs for just the second time.
Happ, who said he did not want to come out of Wednesday's game, allowed 10 earned runs in his previous starts against San Diego and New York, respectively.
"It's not my decision," he said when asked if he could have pitched longer. "I felt fine, I thought I pitched good. I made a mistake on the second home run. It was the worst pitch of the day, and I paid for it. The first one, (Holliday) just pushed it into the boxes; he is a really strong guy.
"Other than that, I felt pretty good. It's not going great, it is going tough for me personally, but it was nice to see us get back in it."
Mills said a high pitch count was the reason he went to the bullpen after the fifth inning.
"(Happ) kind of had a rough fifth that really jumped up his pitch count there. If he was going to go back out there for the sixth, his pitch count was going to go pretty high, and we want this guy to be with us for a while."
The Cardinals got 14 hits, but Houston turned a season-high five double plays to limit their scoring. It is the most double plays the Astros have had in a single game since turning six in May 2003 against Philadelphia.
"The more play together, the more comfortable you get," Wallace said. "I think as the season wears on, you get in a rhythm defensively just like you do offensively. Everybody is pitching in and making plays and things are really starting to click for us."
NOTES: Wednesday was the anniversary of Nolan Ryan breaking Walter Johnson's major league record for career strikeouts by retiring Mills, then an Expo for his 3,509th strikeout. Ryan set the record in 1983 in a 4-2 Houston win over Montreal. ... Houston INF Clint Barmes (broken left hand) is on a rehabilitation assignment at Double-A Corpus Christi and could come off the disabled list as early as Friday.