Braves suffer Marlins mauling
The Miami Marlins and Jose Fernandez continued their hex over National League East leaders the Atlanta Braves in a 9-0 win in Florida.
For the second time in a week, Fernandez pitched eight scoreless innings but, unlike in last week's 1-0 win in Georgia, opposite number Alex Wood suffered some punishment at the hands of the Marlins offense.
Giancarlo Stanton hit a two-run homer in the third inning and Marcell Ozuna's two-run single in the sixth saw Wood taken out of the game.
The result allowed the New York Mets to close the gap behind Atlanta with a 6-1 win over the Philadelphia Phillies, Jon Niese allowing only one run in seven innings.
The Milwaukee Brewers recorded their 20th win of the season as they saw off the St Louis Cardinals, their nearest rivals in the Central Division standings, 5-4 in 11 innings.
Lyle Overbay scored Khris Davis for the decisive run and Francisco Rodriguez recorded his 13th consecutive save.
Elsewhere in the division, the Cincinnati Reds beat the Chicago Cubs 3-2 with the help of Billy Hamilton's home run.
NL West leaders the San Francisco Giants beat the San Diego Padres 6-0, Yusmeiro Petit pitching six scoreless innings after deputising at short notice for Matt Cain, who cut himself on a kitchen knife before the game. Angel Pagan and Buster Posey hit home runs in the first inning.
The Colorado Rockies beat the Arizona Diamondbacks 5-4 and the Washington Nationals beat the Houston Astros 4-3.
In the American League, the Oakland Athletics beat the Texas Rangers 9-3 to stay clear in the Western Division. Derek Norris drove in three runs.
Divisional rivals the Los Angeles Angels and the Seattle Mariners both won, the Angels beating the Cleveland Indians 6-4 while Seattle downed the New York Yankees 6-3.
The Yankees remain two games clear in the AL East after the Baltimore Orioles' clash with the Pittsburgh Pirates was rained off, as was the game between the Minnesota Twins and Los Angeles Dodgers. Both matches will now be played on Thursday.
The Boston Red Sox beat the Tampa Bay Rays 7-4 while the Toronto Blue Jays lost 10-7 to the Kansas City Royals, who lie third in the AL Central.
That division is led by the Detroit Tigers, who beat the Chicago White Sox 4-3 thanks to Dayan Viciedo's fielding error and Bryan Holaday's winning RBI bunt.