Ryan Zimmerman finished with two runs, three hits, including a three-run home run, and four RBI in leading the Nationals' offense.
Zimmermann (12-8) struck out seven and walked two in addition to the four hits, one of which was Corey Hart's 28th home run of the season.
Zimmermann drove in the first run in Washington's six-run fourth inning with a two-out single. He scored one of the runs when Milwaukee center fielder Carlos Gomez lost a high fly by Jayson Werth in the sun for a two-run double.
After Bryce Harper walked, Zimmerman blasted a shot to center for his 24th home run and 7-1 Nationals lead.
Milwaukee starter Marco Estrada (4-7) was charged with seven runs -- six earned -- in four innings. He walked two and struck out three.
Washington catcher Kurt Suzuki added a two-run double in the fifth that put the Nationals ahead 9-1.
The Brewers got a run in the eighth when Ryan Braun reached on a two-out single and Aramis Ramirez knocked him in with his major-league leading 50th double. Washington added three runs in the bottom of the inning when Zimmerman doubled and scored on a ground out.
Washington opened the scoring in the first inning when Milwaukee catcher Jonathan Lucroy made a throwing error while Harper was stealing third. Hart's home run tied the score the next inning.