Chris Heisey hustled for an inside-the-park home run and Aroldis Chapman closed out the win that gave the Reds a 4 1/2-game lead over the Pirates.
The Reds have won 14 of 15 and moved 24 games over .500 for the first time since 1999.
Latos (10-3) allowed four hits in 7 1-3 innings. Jonathan Broxton got a key double play to end the eighth and Chapman recorded his 24th save.
Latos hit his third career home run, connecting in the fifth against Wandy Rodriguez (7-10).
NATIONALS 7, MARLINS 4, 1ST GAME
MARLINS 5, NATIONALS 2, 2ND GAME
WASHINGTON (AP) — Josh Johnson outpitched Gio Gonzalez for another win over Washington, and the Miami Marlins salvaged a doubleheader split.
Johnson (7-7) improved to 9-1 lifetime against Washington. He fell one out short of his first complete game since April 26, 2010.
Johnson gave up one earned run and five hits. He struck out nine and walked none, and also got two hits.
Steve Cishek struck out the only batter he faced for his sixth save in nine chances.
Carlos Lee drove in three runs and Jose Reyes had three hits to lead the Marlins over Gonzalez (13-6).
In the first game, Adam LaRoche and Mark DeRosa each drove in three runs, leading John Lannan (2-0) and the Nationals. Brad Hand (0-1), recalled from Triple-A New Orleans to start the game, gave up seven runs on six hits and six walks in 3 2-3 innings.
DIAMONDBACKS 4, PHILLIES 2
PHILADELPHIA (AP) — Justin Upton hit his 100th career homer, Ian Kennedy threw six effective innings, and the streaking Arizona Diamondbacks beat Philadelphia.
Jason Kubel also went deep for the defending NL West champion Diamondbacks, who have won four in a row.
Kennedy (10-8) allowed seven hits and two runs. Takashi Saito and David Hernandez each worked a scoreless inning before J.J. Putz finished for his 20th save in 23 tries.
Shortly after Upton connected off fill-in starter Kyle Kendrick (4-9), his older brother also hit his 100th homer over in the American League. Tampa Bay's B.J. Upton went deep in the fourth inning against Baltimore.
BRAVES 4, ASTROS 1
ATLANTA (AP) — Tim Hudson gave up only four hits and no earned runs in 7 1-3 innings to remain unbeaten in his career against Houston. Atlanta improved to 7-1 on its 10-game homestead.
The Astros are 3-29, the worst 32-game stretch in team history, according to STATS LLC.
Hudson (11-4) is 5-0 in seven career starts against the Astros. Craig Kimbrel struck out the side in the ninth to earn his 31st save.
Chipper Jones had a two-run double in Atlanta's three-run third inning. Armando Galarraga (0-1) gave up four runs, five hits and a career-high seven walks in 5 1-3 innings.
CARDINALS 9, BREWERS 3
ST. LOUIS (AP) — Rookie Joe Kelly broke a three-start losing streak and drove in the go-ahead run to help the St. Louis Cardinals beat Milwaukee.
St. Louis has won three of its last four while Milwaukee had a three-game winning streak snapped.
Kelly (2-4) allowed three earned runs and 10 hits over 5 2-3 innings. His RBI single off Randy Wolf (3-8) broke a 3-all tie and capped a four-run outburst in the fourth inning.
GIANTS 16, ROCKIES 4
DENVER (AP) — Ryan Vogelsong pitched into the seventh inning, Buster Posey homered among his four hits and the San Francisco Giants broke out of an offensive slump to beat Colorado.
Brett Pill also homered and Angel Pagan had three hits and scored four runs for the Giants, who had lost seven of their past eight.
Wilin Rosario homered for the Rockies, who have lost 9 of 11.
San Francisco set a season high for runs. The first four batters reached as the Giants took a 2-0 lead against former teammate Jonathan Sanchez (0-3).
The Giants gave Vogelsong (9-5) a 3-0 lead before breaking away in the seventh.
PADRES 3, METS 1
SAN DIEGO (AP) — Carlos Quentin scored the go-ahead run in the seventh inning when he knocked the ball out of catcher Josh Thole's glove, and the San Diego Padres denied R.A. Dickey his 15th victory.
Clayton Richard (8-11) limited New York to one run and eight hits in seven-plus innings. The Padres managed only four hits but won for the second time in seven games. Huston Street got the final four outs for his 18th save in as many chances.
Dickey (14-3) held the Padres to one run and one hit through six innings before San Diego got to the knuckleballer in the seventh, scoring two runs in the inning — one earned.
DODGERS 6, CUBS 1
LOS ANGELES (AP) — Chad Billingsley won his third straight start since coming off the disabled list, batterymate A.J. Ellis hit two solo homers and had an RBI single, leading the Los Angeles Dodgers over Cubs.
Billingsley (7-9) allowed a run and four hits in seven innings, struck out seven and walked two.
Jeff Samardzija (7-9) gave up five runs and eight hits in 5 1-3 innings.