Adam LaRoche homered twice, Danny Espinosa hit a three-run shot in Washington's six-run eighth inning, and the Nationals beat the Miami Marlins 10-7 on Saturday night.
The Nationals increased their lead over Atlanta in the NL East to three games.
Washington trailed 6-4 heading into the eighth, but the Nationals tied it on RBI singles by Steve Lombardozzi and Tyler Moore against Mike Dunn (0-1).
Espinosa, who had committed two errors leading to Miami runs, hit his 10th homer of the season over the bullpen in left field. Bryce Harper followed with his 10th to make it 10-6.
Ryan Mattheus (4-1) pitched 1 2-3 innings for the win. Tyler Clippard allowed a run in the ninth.
Miami's Jose Reyes had three hits, scored four runs and stole two bases. His 23-game hitting streak is tied with the New York Yankees' Robinson Cano for the longest in the majors this season.
REDS 5, PIRATES 4
CINCINNATI (AP) — Scott Rolen tripled and scored the go-ahead run in the eighth inning as the Cincinnati Reds beat Pittsburgh for their fifth straight win.
The Reds have won 15 of 16 and opened a 5½-game lead over Pittsburgh in the NL Central.
It was 4-all when Rolen led off the eighth with a line drive off the right-center field wall, beating the relay with a headfirst slide into third base. Todd Frazier hit a chopper that was fielded by pitcher Jared Hughes (2-1) too late to get Rolen at the plate.
Rolen earlier had a two-run single.
Jonathan Broxton (1-0), acquired on Tuesday from Kansas City, pitched a scoreless eighth for the win. Aroldis Chapman worked the ninth for his 25th save.
PHILLIES 3, DIAMONDBACKS 0
PHILADELPHIA (AP) — Roy Halladay gave up three hits over seven innings and Erik Kratz homered, leading the Philadelphia Phillies over Arizona.
Halladay (5-6) allowed just four runners and struck out five to earn his first win since May 17. The two-time Cy Young Award winner was winless in his previous five starts, including three after returning from a two-month stint on the disabled list.
Josh Lindblom had two strikeouts in the eighth and Jonathan Papelbon finished off a four-hitter for his 24th save in 27 tries.
Joe Saunders (5-8) was the hard-luck loser for Arizona, which had its four-game winning streak snapped.
ASTROS 3, BRAVES 2
ATLANTA (AP) — Justin Maxwell had a career-high four hits, including two homers, and the Houston Astros snapped a four-game losing streak with win over Atlanta.
The Astros won for just the fourth time in 33 games, improving to 11-45 on the road — the worst mark in the majors.
Paul Maholm (9-7) lost his Atlanta debut, allowing three runs, six hits, and two walks. He struck out eight in seven innings.
Rookie Lucas Harrell (9-7) allowed two runs and four hits with five walks and five strikeouts in six innings. Wilton Lopez got two outs to earn his second career save, and first since 2010.
CARDINALS 6, BREWERS 1
ST. LOUIS (AP) — Adam Wainwright pitched a five-hitter and also contributed at the plate, leading the St. Louis Cardinals past Milwaukee.
Wainwright (9-10) moved closer to .500 after starting the season at 0-3. He threw 73 of 98 pitches for strikes, walking none and fanning seven.
Wainwright also hit an RBI double and a single, and he scored a run.
Carlos Beltran hit his 25th homer, giving him an NL-leading 77 RBIs. Jon Jay also homered for the Cardinals and Yadier Molina added a two-run single.
Mark Rogers (0-1) took the loss.