The win pulled the Braves even with idle St. Louis at 94-65 for the best record in the National League with three games to play. The Braves won the season series against the Cardinals and would win the NL's No. 1 seed if the teams finish tied.
Rookie David Hale (1-0) got his first major league win in his second career start, allowing one run in six innings while striking out five. Phillies rookie Tyler Cloyd (2-7) took the loss after giving up seven runs and eight hits in one inning.
Evan Gattis had two hits and three RBIs for the Braves.
Jimmy Rollins went 3 for 4 for the Phillies, who have lost seven of eight.
PADRES 3, DIAMONDBACKS 2, 11 innings
SAN DIEGO (AP) — Alexi Amarista hit an RBI single in the 11th inning for San Diego.
Tommy Medica led off the 11th with a swinging bunt down the third-base line for an infield single. Jesus Guzman batted for reliever Nick Vincent (6-3) and hit a ground-rule double that centre fielder A.J. Pollock misplayed.
Josh Collmenter (5-5) intentionally walked Nick Hundley to load the bases, and Amarista slapped a single through a drawn-in infield.
Arizona's Trevor Cahill, who had won five straight starts, worked 6 2-3 innings, allowing two runs and five hits.
Padres starter Robbie Erlin allowed two runs, three hits and a walk, while striking out seven in seven innings.
The Diamondbacks tied the score in the fourth inning when Martin Prado hit his 14th homer of season. Paul Goldschmidt led off the inning with a single.
After the homer, Padres pitchers retired 24 straight batters.
BREWERS 4, METS 2
NEW YORK (AP) — Scooter Gennett capped a four-run second inning with a two-run single and Milwaukee overcame some wild pitching that included the beaning of David Wright.
Wright was hit in the helmet by a pitch from Johnny Hellweg with two outs in the third inning. The All-Star third baseman went down to his hands and knees but he was able to walk off the field unassisted. The Mets said he was removed as a precaution.
Hellweg hit Lucas Duda with the next pitch — in the back of the leg — and then loaded the bases with a four-pitch walk. But the Mets could not take advantage.
Hellweg failed to make it to the fifth despite leading 4-1. He gave up a run and two hits, walked four, hit two batters and threw a wild pitch. Alfredo Figaro (3-3) took over.
Dillon Gee (12-11) entered with a 2.57 ERA in his last 21 starts, and, except for an unfortunate third inning, he shut down the short-handed Brewers for six innings.
Jim Henderson gave up a homer, affirmed by video review, to pinch-hitter Josh Satin before striking out three for his 27th save.
GIANTS 3, DODGERS 2
SAN FRANCISCO (AP) — Angel Pagan hit a tiebreaking home run leading off the eighth inning to give San Francisco a win in what might have been Tim Lincecum's final outing with the club.
Pagan's fifth home run in an injury-shortened season was surrendered by losing pitcher Paco Rodriguez (3-3).
Lincecum struck out Yasiel Puig three times among his six Ks but missed a win against the NL West champion Dodgers. Santiago Casilla (7-2) earned the victory with a 1-2-3 eighth, while Sergio Romo pitched the ninth for his 38th save.
Lincecum is wrapping up a $40.5 million, two-year contract that paid him $22 million this season. The 29-year-old right-hander allowed two runs and three hits in seven impressive innings.
Dodgers starter Edinson Volquez's winless stretch reached seven starts since he beat the Mets on Aug. 17. He didn't beat the Giants in five tries this year.
The Giants took the season series with their rivals 11-8, earning just their third series win at home in the second half in 13 tries.