Miami is 12-3 this month after a slow 8-14 start in April. The Marlins (20-17) moved three games over .500 for the first time this season.
The Marlins led 6-1 off struggling Braves left-hander Mike Minor before Atlanta scored three runs off Mark Buehrle in the sixth. Stanton's eighth homer, which drove in Kearns after his second double, pushed the lead to 8-4 in the seventh.
Buehrle (3-4) gave up four runs on six hits in six innings, getting the win in the first meeting of the season between the NL East rivals.
Austin Kearns and Emilio Bonifacio each had two hits and drove in two runs. Omar Infante had two hits and scored two runs.
Minor (2-3) gave up six runs on six hits in 4 2-3 innings, the fourth straight start he has allowed six or more runs. He gave up three runs in the fourth and three more in the fifth, leaving his ERA at 7.09 and his spot in the rotation on possibly shaky ground.
PADRES 4, DODGERS 2
SAN DIEGO (AP) — Chase Headley homered, doubled and drove in three runs, and San Diego rallied to beat Los Angeles, helping lefty Clayton Richard snap a personal five-game skid.
Richard and two relievers combined on a five-hitter as the Padres beat L.A. for only the second time in eight games this season.
Dodgers left-hander Chris Capuano (5-1) took a two-hitter and a 2-1 lead into the sixth. Cameron Maybin and Chris Denorfia opened the inning with singles before the switch-hitting Headley doubled into the gap in left-centre to bring them both in.
Richard (2-5) held the Dodgers to two runs and four hits in seven innings.
NATIONALS 7, PIRATES 4
WASHINGTON (AP) — Adam LaRoche broke open a tight game with a three-run double for his 1,000th career hit after homering for No. 999, and Gio Gonzalez took over the NL strikeout lead from teammate Stephen Strasburg by fanning 10 in seven innings as Washington beat Pittsburgh.
Gonzalez (5-1) allowed three runs, four hits and two walks. His 60 strikeouts are four more than Strasburg's total.
LaRoche and Xavier Nady hit consecutive homers off Erik Bedard (2-5) in the sixth.
Nationals reliever Tyler Clippard let in one run in the eighth, and struggling fill-in closer Henry Rodriguez overcame an error for his ninth save in 12 chances.
PHILLIES 9, CUBS 2
CHICAGO (AP) — Carlos Ruiz hit a tiebreaking solo homer in the eighth inning and Philadelphia used Hector Luna's first career grand slam to pull away against Chicago.
Kyle Kendrick pitched six innings in his first start in 12 days as Philadelphia returned to .500 for the first time since May 3. He also singled and scored the tying run in the fifth.
Hunter Pence opened the eighth with a long fly ball off Shawn Camp (2-2) that was caught at the warning track in left. Ruiz followed with a drive that reached the bleachers in left.
Luna capped the six-run ninth with a drive to left in his first at-bat with the Phillies.
Jose Contreras (1-0) pitched a perfect seventh to earn the win.
REDS 6, METS 3
NEW YORK (AP) — Todd Frazier homered twice, Brandon Phillips hit a tying single off Jon Rauch in the eighth and Cincinnati beat New York.
Pinch-hitter Jay Bruce drove in the go-ahead run on a sacrifice fly one out after the Reds put together three straight hits off Rauch (3-2), ending with Phillips' single. Rauch retired Chris Heisey on a popup before left-hander Tim Byrdak came on to face the lefty-hitting Bruce. After that, D.J. Carrasco came on and gave up Frazier's second homer on his first pitch.
Jose Arredondo (3-1) pitched a perfect inning of relief for the Reds and Sean Marshall finished for his seventh save. Mike Leake struck out five in six innings for the Reds.
CARDINALS 4, GIANTS 1
SAN FRANCISCO (AP) — Jaime Garcia matched his career high with nine strikeouts, David Freese hit a go-ahead solo home run in the seventh inning, and St. Louis beat San Francisco.
Buster Posey hit a tying RBI single in the sixth against Garcia (3-2), who worked 7 1-3 innings with and allowed one run on nine hits.
Pinch-hitter Skip Schumaker added a two-run double in the eighth for the Cardinals.
In a matchup of the last two World Series champions, the Giants didn't do enough to back Madison Bumgarner (5-3). He lost his second straight start following a five-start winning streak, allowing four runs on seven hits in 7 1-3 innings with three strikeouts.
ROCKIES 6, DIAMONDBACKS 1
DENVER (AP) — Jamie Moyer handcuffed Arizona at the plate and in the field, pitching neatly into the seventh and driving in two runs with an infield single to lead Colorado.
Moyer legged out a base hit in the fourth when he dribbled a 2-2 fastball in between lefty Patrick Corbin and first baseman Paul Goldschmidt, who fielded the ball and futilely lunged at the 49-year-old lumbering down the line. Jordan Pacheco and Dexter Fowler scored on the play.
Moyer (2-3) allowed one earned run and six hits in 6 1-3 innings, walked two and struck out five in winning for the first time since April 17.
He outpitched Corbin (2-2), who gave up six runs on nine hits in six innings.
ASTROS 8, BREWERS 3
HOUSTON (AP) — Carlos Lee had three hits, including his first homer since April 22, and three RBIs to back another solid outing by Bud Norris as Houston beat Milwaukee.
Lee's home run was a solo shot to left-centre field in the seventh inning that put Houston up 8-1. Lee also singled and scored in the second then drove in two runs with a single in Houston's three-run third.
Norris (4-1) yielded four hits and a run with a season-high nine strikeouts in seven innings, improving to 3-0 in his last four starts to help Houston end a four-game skid.
Randy Wolf (2-4) allowed seven hits and seven runs — six earned — in four innings.