Braun hammered the 3-2 pitch from Cardinals reliever Junior Fernandez to erase a 4-3 deficit as the Brewers took advantage a lacklustre bullpen to rally past St. Louis.
The Brewers improved to 80-69 on the season and won for the ninth time in 10 games to move within three games of the National League Central leading Cardinals.
John Gant, the sixth of eight Cards pitchers, was credited with the loss.
Cory Spangenberg hit a two-run homer for the Brewers.
Gant came in the ninth inning with is team ahead 4-3 and walked three of the four batters he faced. Cardinals star closing pitcher Carlos Martinez was unavailable because of a chest problem.
Tyler Webb then got Mike Moustakas to fly out, but the 35-year-old Braun's slam gave Milwaukee a 7-4 lead.