Kirk Nieuwenhuis hit a three-run homer that capped a four-run rally in the bottom of the ninth inning, and the Mets salvaged what had been shaping up as another sorry afternoon, startling the Cubs 4-3 on Sunday in New York.
Matt Garza pitched seven scoreless innings, and the Cubs scored twice on a madcap play that featured three bad throws by Mets infielders, giving Chicago a 3-0 lead.
But New York came back against Carlos Marmol (2-4)in the ninth, starting with Marlon Byrd's leadoff home run. Nieuwenhuis connected with one out.
Bobby Parnell (5-3) pitched the top of the ninth. Mets starter Jeremy Hefner allowed one earned run and struck out five in five innings.
Garza gave up three hits and struck out five, and was all set up for his second win in five starts this season. The Cubs had used closer Kevin Gregg on four consecutive days and manager Dale Sveum turned to Marmol, who had been unseated as closer earlier this season.
Marlins 7, Cardinals 2: Ricky Nolasco allowed one run and three hits in seven innings to help the Marlins take the rubber game of its three-game series against St. Louis in Miami.
The NL Central-leading Cardinals lost a series for the first time since April 26-28 against Pittsburgh.
The Marlins climbed above .300 at 21-47, still baseball's worst record. They scored 19 runs in the series against a team with the lowest ERA in the majors.
The abundance of offense was a refreshing change for Nolasco (4-7), who has endured the worst run support of any pitcher with at least 14 starts.
Tyler Lyons (2-3), making his fifth major-league start, lost for the third time in a row after winning his first two decisions. He gave up six runs in 5 1/3 innings.
The Cardinals managed only five hits, all singles.
Astros 5, White Sox 4: Jason Castro homered for the second straight game and Matt Dominguez hit a three-run double to help Houston top the Chicago White Sox for its fourth straight win.
Dominguez put Houston on top 3-0 with a double in the second inning, and Castro hit a two-run shot to make it 5-2 in the seventh.
Alejandro De Aza tripled and scored in the sixth and Dayan Viciedo tripled and scored in the seventh to cut the lead to 3-2. De Aza added a two-out, two-run homer off Jose Veras to make it 5-4 in the ninth before Alexei Ramirez grounded out to give Veras his 14th save.