Milwaukee moved within 3 1-2 games of St. Louis for the final NL wild-card spot, a long shot that left them with no margin for error. The Cardinals lost 2-0 to Houston.
Shaun Marcum (6-4) went six innings for his first victory since returning from an elbow problem, allowing four hits, including Joey Votto's RBI double.
Norichika Aoki homered to start a three-run third inning off Bronson Arroyo (12-9) and added an RBI double. Braun, the NL's MVP last season as the Brewers won the NL Central, hit a two-run shot in the seventh off Logan Ondrusek.
Jonathan Lucroy also homered and had three hits.
The Reds played all of their healthy regulars even though they have clinched the NL Central.
BRAVES 3, MARLINS 0
ATLANTA (AP) — Martin Prado homered and Paul Maholm combined with three relievers on a six-hitter as Atlanta showed no hangover from their champagne celebration after clinching an NL wild-card spot the night before.
The Braves remained four games behind first-place Washington in the NL East. The Nationals beat the Phillies, 8-4.
Prado hit a first-inning homer off Josh Johnson (8-14) and drove in Jose Constanza with a third-inning single. The Braves had only four hits.
Miami has lost six straight and eight of nine.
Maholm (13-10) earned only his second win in his last seven starts. The left-hander gave up five hits with no walks and six strikeouts in 6 2-3 innings.
Chad Durbin recorded the final out in the seventh. Eric O'Flaherty pitched the eighth.
Craig Kimbrel earned his 40th save, matching Jason Motte for the NL lead, with a perfect ninth inning.
Johnson allowed three runs, two earned, four hits and five walks in six innings.
NATIONALS 8, PHILLIES 4
PHILADELPHIA (AP) — Bryce Harper hit his 20th homer, Ian Desmond and Kurt Suzuki also connected and Washington moved closer toward winning its first division title since moving to Washington.
The 19-year-old Harper joined Tony Conigliaro as the only teenagers to reach 20 homers in big league history. The Nationals reduced their magic number in the NL East to four, holding a four-game lead over Atlanta, which beat Miami 3-0, with seven remaining.
John Lannan (4-0) gave up two runs and five hits in 5 1-3 innings to win his second start since taking Stephen Strasburg's spot in the rotation. Strasburg, the All-Star righty, was shut down after reaching his innings limit.
The Phillies, who closed within three games of St. Louis for the NL's second wild-card spot following a late push, are on the verge of elimination. The five-time defending NL East champions are 5 1/2 games behind the Cardinals.
Kyle Kendrick (10-12) got roughed up, allowing five runs and five hits in two-plus innings.
Jimmy Rollins hit a solo homer, his team-leading 23rd, to snap an 0-for-19 slump.
DODGERS 8, PADRES 2
SAN DIEGO (AP) — Matt Kemp had four hits, falling a triple shy of the cycle, and four RBIs as Los Angeles used a rare offensive outburst to keep its slim playoff hopes alive.
Los Angeles, which has scuffled for the better part of a month, remained tied with Milwaukee, 4 1/2 games behind St. Louis for the second NL wild-card berth.
Kemp singled and scored in the first inning, hit a two-run double in the fourth and drove a two-run homer well over the fence in centre in the sixth, his 20th. His four hits and four RBIs tied his season highs. In 17 games against San Diego this year, he's hitting .407 with seven homers and 19 RBIs.
The Dodgers won for just the 13th time in 33 games since Aug. 19, the last time they were in first place in the NL West.
Aaron Harang (10-10), San Diego's opening day starter in 2011, held San Diego to four singles in 5 1-3 innings, walked four and struck out three.
METS 6, PIRATES 0
NEW YORK (AP) — David Wright broke the Mets' record for hits and Jeremy Hefner bounced back from a horrendous start in a victory that eliminated Pittsburgh from playoff contention.
Ruben Tejada tied a career high with four hits, including two RBI singles, and Scott Hairston doubled home a run as the Mets took advantage of some shoddy Pittsburgh defence to win for the fifth time in six games.
Jeff Locke (0-3), still searching for his first major league win after nine starts, was chased in the fourth inning.
Tied for the NL Central lead a week after the All-Star game, the Pirates have faded quickly in the second half for the second consecutive year. They have dropped 19 of 25 and must go 5-2 the rest of the way to avoid a 20th straight losing season.
Wright reached on an infield single during a four-run third inning for his 1,419th hit, snapping a tie with Ed Kranepool atop the team's career list.
A six-time All-Star, Wright accomplished the feat in 1,256 games from 2004-12. Kranepool played in 1,853 games from 1962-79.
ASTROS 2, CARDINALS 0
HOUSTON (AP) — Bud Norris pitched into the eighth inning for his first win since May 21, and Jose Altuve homered as Houston avoided a sweep.
Norris (6-13) allowed two hits and struck out seven without a walk in 7 1-3 innings to snap a career-long 12-game losing streak which spanned 18 starts in the last National League game in Houston with the Astros moving to the American League West for 2013.
The victory broke a 10-game winning streak for the Cardinals over Houston and cut their lead over Los Angeles and Milwaukee to 3 1-2 games for the second NL wild-card spot after both teams won Wednesday.
Norris hurled the gem despite a tough stretch where he has been slowed by a blister on index finger of his right hand and flu-like symptoms.
Wilton Lopez got the final five outs to complete the three-hitter and get his eighth save.
Chris Carpenter (0-1) allowed four hits and two runs in six innings in his second start since missing 150 games following right shoulder surgery.
GIANTS 6, DIAMONDBACKS 0
Matt Cain pitched seven innings and had two hits and an RBI to lead the San Francisco Giants over Arizona.
Brandon Belt added three hits, Pablo Sandoval singled twice and drove in two runs, and Marco Scutaro extended his career-best hitting streak to 14 games while helping Cain to his career-best 16th win.
It's San Francisco's first victory since clinching the NL West division for the second time in three years.
The Giants were the fifth NL team to pitch a shutout Wednesday. The last time there were at least five shutouts in the same league on the same day was Sept. 18, 2003, in the NL, according to STATS LLC.
Cain (16-5) looked sharp in his next-to-last start in the regular season. He scattered four hits and struck out six.
The Giants scored twice off Diamondbacks starter Wade Miley (16-11) in the third on an infield hit by Sandoval and an RBI single from Buster Posey. Posey joined Walker Cooper (122 in 1947) and Dick Dietz (107, 1970) as the only other catchers in franchise history to reach 100 RBIs in a single season.
ROCKIES 6, CUBS 0
DENVER (AP) — Drew Pomeranz tossed five scoreless innings for his first win in more than two months and the Colorado Rockies beat Chicago. The game was delayed by rain in the seventh inning for 1 hour, 24 minutes.
Charlie Blackmon homered and Chris Nelson had two hits and two RBIs in the Rockies' third straight win.
Dave Sappelt had two hits for Chicago, which is winless in 15 road games against NL West opponents.
Pomeranz (2-9) had been 0-6 with a 6.84 ERA since the All-Star break. He allowed three hits in his first win since July 6.
Jason Berken (0-2) took the loss.