Milwaukee won its fifth in a row, coming up with the eventual winning run in the seventh on a home run by Carlos Gomez.
That homer gave the Brewers a 5-3 lead, creating the cushion needed to survive an eighth-inning homer by Chicago's Anthony Rizzo.
Marco Estrada (2-0), after being given a four-run lead, allowed three runs on seven hits over six innings to collect the victory. Chicago cut its deficit to 4-3 in the third on a solo homer from Luis Valbuena and a two-run shot by David DeJesus.
Milwaukee closer Jim Henderson gave up a two-out single to pinch-hitter Dioner Navarro in the ninth and Julio Borbon came on to run for Navarro representing the tying run. Borbon was promptly thrown out trying to steal second, ending the game and bringing Henderson his third save.
Norichika Aoki started Milwaukee's opening inning by reaching on a fielding error by Rizzo at first base and Jean Segura singled Aoki to third.
Kate Middleton recycles dress at movie premiere
Couple mistakenly served bag of cash at McDonald's drive-thru