Braun had an RBI double in the first inning, hit his 34th home run of the year in the sixth and added a triple in the eighth.
Yovani Gallardo (13-8) struck out nine and gave up four hits -- two home runs -- and two walks over seven innings. Jim Henderson pitched one perfect inning of relief and John Axford finished off a one-hit, three-strikeout ninth for his 20th save.
Travis Wood (4-10) allowed all three Milwaukee runs and six hits in taking the loss. He struck out six and walked one.
Braun made the score 3-1 in the sixth with his home run. Only Adam Dunn, with 36, has more home runs in the majors this season.
Bryan LaHair led off the seventh with a home run for the Cubs. It was his 15th this year.