Prado hit a three-run homer in the third, Jones the go-ahead solo shot in the sixth and McLouth a two-run insurance drive in the eighth for Atlanta (50-47), which has won seven of nine since the All-Star break.
Vazquez (8-7) gave up four runs off seven hits and struck out home run derby champ Prince Fielder four times. But he wasn't as sharp as his previous nine starts, allowing three walks and a two-run homer to Ryan Braun to tie it at 4 in the fifth before Jones answered off Carlos Villanueva (2-7).
Braun's shot snapped a streak of 77 2-3 innings by Braves pitchers without allowing a home run, but that wouldn't be enough for Milwaukee, which has lost 13 of 19 and is fourth in the NL Central after entering July with a two-game lead. It's the first time since May 2 the Brewers (48-48) have been at .500.
Already up 1-0, Vazquez doubled off Brewers starter Manny Parra to start the third and McLouth walked.
Prado homered down the left-field line to make it 4-0 and added an RBI single in the ninth after coming into Friday's game with 31 hits in July to lead the majors.
Parra, trying to build off two sharp starts following a month in the minors, worked out of a bases loaded, one-out jam in the fourth by retiring Jones for the first time in six career at-bats. But the next time Jones came up against Milwaukee's bullpen would prove to be the difference with a line drive homer off Villanueva to break a 4-4 tie.
Vazquez showed a momentary lack of control in the third with four-pitch walks to Jason Kendall and Braun after not allowing two total over his previous 23 innings. Craig Counsell's two-run double cut Atlanta's lead to 4-2 before Vazquez struck out Fielder and Casey McGehee to strand two.
Braun tied it in his next at-bat with his 19th homer, but in the seventh with a man in scoring position, Vazquez struck him out and got Fielder for the fourth time to end his night. McLouth added his homer moments later and Garret Anderson's RBI single made it 8-4.
Parra allowed four runs off 10 hits and three walks in five innings. Braun got him off the hook for the loss, but that was all the offense Milwaukee mustered.