Pinch-hitter Ryan Doumit also went deep for Atlanta in a matchup of first-place teams. The Braves, who had lost 12 of 18, never trailed in winning their second straight game.
Atlanta began the night with the fewest runs in the majors. But the Braves banged out 15 hits and improved to 18-5 when hitting a home run.
Minor (2-2) gave up two runs and five hits with five strikeouts in 6 2-3 innings.
Wily Peralta (4-3) allowed nine hits, a season-high four walks and three runs - two earned - with five strikeouts in five innings. The right-hander began the night 1-1 with a 1.29 ERA in three starts this month.
Freeman led off the third with his ninth homer to make it 3-0. Davis lost his glove over the left-field fence on Freeman's opposite-field shot. A fan picked up the glove off a ledge between the fence and the seats and tossed it back to Davis after Freeman rounded the bases.
The Braves broke open a one-run game in the eighth, scoring five times off reliever Wei-Chung Wang to make it 9-3. Doumit hit a solo shot, Upton's 11th homer was a two-run drive, and Atlanta got RBI singles from Andrelton Simmons and Ramiro Pena.
After Wang needed 40 pitches to get two outs, Brewers manager Ron Roenicke brought in Lyle Overbay, a career first baseman, off the bench to pitch. The 37-year-old Overbay pitched for the first time in his 1,497 major league games, retiring Doumit on a popup.
Zach Duke, who relieved Peralta to begin the sixth, gave up a leadoff single to Minor and a single to Jason Heyward before Upton reached safely when catcher Martin Maldonado was called for interference.
Rob Wooten relieved with one out and gave up Evan Gattis' sacrifice fly that made it 4-2.
David Hale relieved Minor with a runner at second base and ended the threat when Carlos Gomez grounded out.
Braun's seventh homer, an opposite-field shot to right off David Carpenter, cut the margin to 4-3 in the eighth.
Atlanta took a 1-0 lead in the first when Heyward led off with a single, stole second and scored on Maldonado's passed ball and throwing error to third.
The Braves went ahead 2-0 in the second on Pena's RBI single.
Davis' fifth homer, a two-run shot in the fifth, cut it to 3-2.
NOTES: The Braves have won 10 of their last 12 against Milwaukee at Turner Field. ... Gomez went 1 for 3 in his first game since last Tuesday. He served a three-game suspension last week for his role in a bench-clearing dustup April 20 at Pittsburgh and missed two weekend games at the Chicago Cubs with back stiffness and a stomach virus. ... Heyward, who began the game hitting .186 in his last 43 at-bats, went 3 for 4 with two stolen bases. ... Braun's outfield assist ended the Atlanta fourth as Heyward, trying to score from second on Freeman's single to right, was tagged out at the plate.