Willie Harris walked to start a six-run ninth-inning rally and his two-run single was the go-ahead hit as the Mets overcame a four-run deficit and hurt the St. Louis Cardinals' wild-card hopes with an 8-6 victory on Thursday.
The Mets wrapped up 3-3 trip, showing a bit of life after a 1-8 homestand. After surrendering a pair of seventh-inning leads the first two games, they silenced a Busch Stadium crowd that had already done the math and had the Cardinals trailing the Braves by one game for the wild card with six to go.
"It's going to be a happy flight," Harris said. "Those guys took the first two from us. I think we had a chance to with both of those games, also. It's good to go back home and have some momentum for us.
Harris, who played for the Braves in 2007, said Atlanta coach Terry Pendleton texted him, "Way to go."
Ahead 6-2, shortstop Rafael Furcal misplayed a double-play grounder and the Cardinals walked three batters.
"I think he probably tried to hurry it," Cardinals manager Tony La Russa said. "I think he's just trying to do too much. He does a lot so it's hard to fault him."
Elsewhere in the NL it was: Washington 6 Philadelphia 1; Houston 9 Colorado 6; and Los Angeles 8 San Francisco 2.
At St. Louis, Mets manager Terry Collins was happy with his team's patience, and the fight coming off the poor homestand.
"Well, they'd better," Collins said. "It had the perception that they were just going through the motions to get through the rest of the games. We've had a good trip and this really puts a big exclamation point that we played so well on the road.
"To come back against that team, that bullpen in the ninth inning, is huge."
The Mets have 43 road victories, their most since 2007. They're 31-44 at home.
"The guys didn't give away any at-bats, grinded every pitch and what a comeback," starting pitcher Chris Capuano said. "You can't say enough about the way everybody is keeping a solid mental approach."
The Red Sox have shown interest in acquiring Capuano. The lefty wasn't aware of that until after the game.
"My command suffered out there, as it was," Capuano said. "So I don't think any distraction was going to make it any worse than it was."
The loss dropped St. Louis two games behind idle Atlanta for the wild card, with each team having six games left. The Cardinals lost for only the third time in 16 games.
The Mets, who had lost nine of their previous 11, came back against three St. Louis relievers.
After Harris drew a leadoff walk, Nick Evans hit a routine grounder to Furcal. But Furcal, acquired in late July to boost the Cardinals' playoff push, fumbled the ball for his fifth error in six games.
Jason Motte walked three of the five batters he faced, including pinch-hitter Justin Turner with the bases loaded. Marc Rzepczynski (0-3) allowed Jose Reyes' RBI single.
Left-fielder Shane Robinson almost saved the Cardinals with a diving try, but Ruben Tejada's drive glanced off the tip of his outstretched glove for a two-run double that made it 6-all. Fernando Salas gave up the hits to Tejada and Harris.
Albert Pujols and Allen Craig homered for the Cardinals. The game was delayed 2 hours and 19 minutes by rain before the first pitch.
Harris missed a two-run homer by inches in the fourth on a drive to right that curved just foul, waving his arms in triumph on the bases and then in disgust after the play was upheld after a video review.
Pujols reached base safely for the 38th straight game, breaking a tie with Andre Ethier for the longest streak in the league this season and leaving him one shy of matching Johnny Damon's major league-best. His NL-leading 37th homer left him two RBIs shy of a solid slate of 11 career 100-RBI seasons.
Craig has been filling in for injured Matt Holliday, and putting up Holliday-style numbers with three homers, three doubles and seven RBIs in eight games. He hit a two-run homer in the first and he also doubled.
Pujols, who homered in the fifth, is a career .545 hitter (18 for 33) against Capuano with five homers, four doubles and 12 RBIs.
Jake Westbrook allowed a run on three hits in six innings, retiring 13 of the first 15 hitters before running into trouble in the fifth when he walked Reyes on four pitches to load the bases and Tejada on five pitches to force in a run.
Yadier Molina added an RBI double in the Cardinals' two-run seventh, giving him a single-season best of 63 RBIs.
Nationals 6 Phillies 1
At Philadelphia, Brad Peacock, making just his second major league start, pitched 5 2-3 scoreless innings and Michael Morse hit a three-run homer.
Astros 9 Rockies 6
At Houston, Carlos Lee doubled and drove in four runs, pinch-hitter Matt Downs knocked in three more and the Astros beat Colorado, extending the Rockies' losing streak to a season-high eight games.
Dodgers 8 Giants 2
At Los Angeles, Matt Kemp went 4-for-5 with a two-run homer and a career-high three doubles in his final home game of the season, Juan Rivera homered and drove in three runs and the Dodgers beat San Francisco, pushing the Giants to the brink of elimination in the NL West playoff race.