Brewers slugger Eric Thames had two doubles and three hits but ended his franchise record-tying homer streak at five games.
Wade Davis got his third save and the bullpen retired 15 of its final 16 batters as the Cubs snapped a four-game skid.
The Brewers staked Jimmy Nelson to a 5-0 lead in the third, but the right-hander couldn't make it hold, allowing seven runs and nine hits in 5 1/3 innings. Reliever Jared Hughes (1-1) took the loss.
Brett Anderson pitched 3 2/3 innings and allowed six runs and eight hits. Justin Grimm (1-0) worked a scoreless sixth for the win.