Pinch-hitter Ryan Theriot came through for the Cardinals when they needed a big hit.
His go-ahead double with the bases loaded in the seventh inning gave St. Louis an 11-6 win over the New York Mets on Tuesday night.
They needed it just to keep pace with Atlanta, which also won Tuesday night.
''The Braves can lose the rest of the games that they got left and if we don't take care of business, they're still going to win the wild card,'' Albert Pujols said. ''All we can do is go nine innings hard and hopefully get a ''W,'' at the end of the day.''
The Cardinals' 11th win in 13 games kept them 2-1/2 games behind the Braves in the wild-card chase.
The Cardinals scored six times in the seventh to come back from an early 4-0 deficit after the Braves beat Florida 4-0.
Pujols went 4 for 5 to push his batting average to a season-high .304. It was the 36th four-hit game of his career and seventh of the season.
''Theriot was the one that had the big hit of the night,'' St. Louis first baseman Albert Pujols said. ''Coming off the bench with the bases loaded and driving that ball. We took the lead right there.''
Theriot hit a pitch from Tim Byrdak into the gap in left-center to bring in Pujols and Lance Berkman, who both singled against Josh Stinson (0-2), for a 7-6 lead.
Pinch-hitter Adron Chambers followed an intentional walk to Yadier Molina with a three-run triple and Nick Punto added an RBI single.
''It was a beautiful sight to behold,'' manager Tony La Russa said. ''Once things start rolling, sometimes it's tough to put a cork on it. Those were some huge at bats from Ryan and Adron.''
The triple was Chambers' first extra-base hit in the major leagues.
''It was a great moment for me and I hope there will be many more,'' Chambers said. ''I'm just happy that Tony trusted me in that kind of situation.''
Octavio Dotel (4-3) came on and struck out David Wright to end the top of the seventh.
The Mets tied a season high by walking nine times. One of those was by Angel Pagan in the top of the 7th, and gave New York a 5-4 lead.
New York has lost 10 of its last 13 games and tied a season-low at eight games under. 500.
''It's tough, we've been watching it all year long,'' New York manager Terry Collins said of the late-game collapse. ''We've got to find a way to shut it down.''
New York shortstop Jose Reyes had one hit in four at-bats. He is hitting .330 in an attempt to become the first Mets hitter to win a batting title. Milwaukee's Ryan Braun, who went 1 for 5 on Tuesday, tops the NL at .332.
Berkman had two hits for St. Louis including a two-run single in the fifth that tied the game at 4.
The Mets scored three times in the third inning on a groundout by Wright, a fielder's choice by Willie Harris, and an RBI single by Josh Thole. Lucas Duda hit an RBI double in the first.
Rafael Furcal and David Freese hit RBI doubles in the bottom half around a groundout by Pujols that scored a run, to cut the Mets' lead to 4-3.
New York starter Mike Pelfrey gave up 10 hits and five earned runs in six innings.
''The one thing that was a constant in all the hits that I gave up was the ball was up,'' Pelfrey said ''That's one thing I can't do.''
Notes: St. Louis IFN Skip Schumaker is in an 0 for 15 slump. ... Duda is hitting .322 (66-205) since the All-Star break. ... St. Louis has won six of its last seven series. ... Cardinals OF Matt Holliday missed the last six games with an inflamed tendon on the middle finger of his right hand. He is hoping to play this weekend against Chicago.