NEW YORK -- Kirk Nieuwenhuis hit a three-run homer that capped a four-run rally in the bottom of the ninth inning, and the New York Mets salvaged what had been shaping up as another sorry afternoon, startling the Chicago Cubs 4-3 on Sunday.
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.
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.
BRAVES 3, GIANTS 0
Teheran (5-3) allowed seven hits and one walk. The 22-year-old struck out eight and got a few stellar plays from outfielders Jason Heyward and Justin Upton in the fourth, and by Andrelton Simmons at shortstop in the sixth that kept a run from scoring with the Braves holding a two-run lead.
Lincecum (4-7) gave up six hits and five walks in six innings. Two of his three runs were earned, and he struck out three.
REDS 5, BREWERS 1
Cueto, activated from the disabled list Sunday, improved to 4-0 in his seventh start of the season. He allowed five hits and one run with three strikeouts and no walks as the Reds took two of three in the weekend series.
Cueto made his first start since a 6-0 win at Pittsburgh on May 31. He was placed on the disabled list on June 5 for the second time this season because of a strained muscle in his right shoulder.
Alfredo Simon allowed two hits and had six strikeouts in three innings of relief for his first save of the season and second in two years with Cincinnati.
Milwaukee starter Wily Peralta gave up all five Reds runs -- four earned -- in 5 1-3 innings. The slumping Peralta (4-8) allowed seven hits with two walks and two strikeouts to fall to 1-6 in his last seven starts.
MARLINS 7, CARDINALS 2
MIAMI -- Ricky Nolasco allowed one run and three hits in seven innings to help Miami take the rubber game of its three-game series against St. Louis.
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.
Juan Pierre drove in two runs and had two hits to extend his hitting streak to 12 games, and Justin Ruggiano and Placido Polanco each had a two-RBI hit. The Marlins have won eight of 14, their best stretch this season.
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.
PIRATES 6, DODGERS 3
Cole (2-0) allowed three runs on seven hits and no walks in 5 2-3 innings. The top pick from the 2011 draft won in his big league debut last week.
Alvarez snapped a 2-all tie when he connected off Zack Greinke (3-2) for a three-run homer in the fifth. Alvarez leads the Pirates with 15 homers.
Dodgers rookie Yasiel Puig had three hits and raised his batting average to .479 in his first 48 at-bats in the majors.
ROCKIES 5, PHILLIES 2
DENVER -- Jhoulys Chacin came within an out of his second career shutout, and Colorado topped Philadelphia.
Chacin gave up six hits, struck out three and didn't walk a batter. His 8 2-3 innings marked the longest outing by a Rockies starter this season.
Rex Brothers got the final out for his second save of the season.
Phillies starter Cole Hamels (2-10) was sharp early, but Chacin was efficient throughout. Chacin needed just 74 pitches -- 59 strikes -- to get through the first eight innings.
Hamels has lost two straight decisions and eight of nine.
PADRES 4, DIAMONDBACKS 1
SAN DIEGO -- Kyle Blanks hit a three-run homer with two outs in the bottom of the eighth inning to a snap a tie and lift San Diego to its season-high sixth straight victory.
Huston Street came on in the ninth to earn his 13th save in 14 opportunities for the Padres (35-34), who moved above 500. for the first time since closing the 2010 season with a 90-72 record.
The Padres have gone 30-19 since May 1, are 21-7 in their last 28 home games and have pulled within two games of first-place Arizona in the NL West.
Until then the game had been an outstanding pitcher's duel between Richard and Arizona's Ian Kennedy.
Copyright 2013 by The Associated Press
This story is from ESPN.com's automated news wire. Wire index
MORE MLB HEADLINES
- Pujols goes yard twice to join 500 HR club
- Ellsbury helps Yankees romp in Fenway return
- Fernandez strikes out 14, wins pitchers' duel
- Athletics reject 10-year Coliseum lease offer