The New York Mets scored six runs in the top of the ninth inning to avoid a three-game sweep and dealt a huge blow to the St. Louis Cardinals' playoff hopes with an 8-6 win Thursday at Busch Stadium.
The Cardinals took a 6-2 lead to the ninth and were two outs away from climbing within one game of Atlanta in the National League wild-card race. Ruben Tejada tied it with a two-run double and Willie Harris delivered a two-run, two-out single to give the Mets their first lead of the game.
Tejada's double into the left-field corner glanced off the glove of left fielder Shane Robinson, who dived at the warning track to try to make the catch. After David Wright struck out, Harris lined his single into right to cap the big inning.
New York's Bobby Parnell worked a perfect ninth for his sixth save.
It was only the third loss in 15 games for St. Louis, which has made up most of a deficit that was 9 1/2 games on Aug. 24. The Cardinals still trail the Braves by two games for the final playoff spot.
Mets leadoff man Jose Reyes went 1-for-4 to lower his average to .329. Reyes started the day with the National League batting lead by a fraction of a point over Milwaukee's Ryan Braun (.330), who was idle Thursday.
Albert Pujols belted his National League-leading 37th home run, a solo shot off Mets starter Chris Capuano in the fifth. Pujols has reached base in 38 consecutive games, the longest active streak in the majors.
The win was the Mets' third in 12 games, as they avoided falling a season-worst 10 games below .500.
The start of the game was delayed 2 hours, 19 minutes because of rain.