The Braves trailed 4-1 heading to the bottom of the sixth.
B.J. Upton hit a two-out homer, barely clearing the right-field wall, and the Braves rallied for the win the next inning. Gerald Laird also had a key hit, a run-scoring double that ricocheted off an infielder’s glove.
Jean Segura had three hits for Milwaukee and scored two runs, driven home both times by two-out hits from Jonathan Lucroy.
Alex Wood (4-5) worked a scoreless inning for the win, and Craig Kimbrel earned his 12th save.
Brandon Kintzler (1-2) took the loss, failing to retire the only batter he faced.
Chris Johnson started the Atlanta seventh with a single. Dan Uggla, in a rare start, singled to left after fouling off three pitches to keep the at-bat alive.
Kintzler took over for starter Matt Garza, but Laird ripped one off the glove of third baseman Mark Reynolds, the ball rolling into short left field. A run scored, and Laird hustled to second for a double that barely got out of the infield.
Will Smith replaced Kintzler and the Brewers pulled in the infield, hoping to cut off the tying run at the plate. Doumit foiled that strategy by lining one past the shortstop, bringing home both Uggla and Laird.
The Braves loaded the bases with one out, extending the rally with another of three overturned calls on the night. Scooter Gennett made a brilliant backhanded stop on Jason Heyward’s grounder and flipped the ball in one motion to the shortstop Segura, who came off the bag quickly to make a throw to first.
That was too late to get Heyward, and the Brewers wound up with no outs on the play when Braves manager Fredi Gonzalez challenged the call.
After a review of more than 3 minutes, the umpires ruled that Segura’s foot came off the bag a split-second before he squeezed the ball in his glove.
The Braves failed to take advantage of the overturned call. Smith struck out Freddie Freeman with the bases loaded, and Rob Wooten fanned Justin Upton to end the threat.
It didn’t matter. Dave Carpenter worked a 1-2-3 eighth and Kimbrel worked around a hit batter to lead off the ninth, striking out the side.
Garza went 6 1/3 innings, giving up five hits and four runs.
Logan Schafer’s squeeze bunt brought in another Milwaukee run, and Khris Davis finished off Atlanta starter Aaron Harang with an RBI single in the sixth. Harang allowed nine hits and all four Brewers runs in 5 1/3 innings.
NOTES: Milwaukee slugger Ryan Braun left the game in the fifth because of tightness in his right side. ... Rick Tomlin served as the acting pitching coach for the Brewers with Rick Kranitz was attending a graduation. In fact, two Milwaukee coaches were on graduation duty. Bullpen coach Lee Tunnell also missed the game. ... Uggla made only his second start since May 6. ... Gavin Floyd (0-1) will go against Colorado’s Jordan Lyles (5-1) tonight in the opener of a three-game series at Turner Field. The Brewers head to Miami, where Marco Estrada (3-2) will take the mound against Tom Koehler (4-3) of the Marlins.