Zambrano (8-6) had three hits as he won his fifth straight decision since returning to the rotation Aug. 9 after serving a suspension for a dugout outburst in June. He pitched three games out of the bullpen before resuming his starting duties. Zambrano tied a season high with nine strikeouts and walked three in 8 2-3 innings. The right-hander has 32 strikeouts and 10 walks in his last four starts.
He was in control the whole game, retiring 13 straight batters until Ryan Braun lined a single to left field with two outs in the ninth inning.
Prince Fielder followed with a groundball that Cubs shortstop Starlin Casto botched for an error. Closer Carlos Marmol was brought in and got Casey McGehee to fly out to right field on his first pitch to end the game. It was Marmol's's 29th save in 34 chances.
Dave Bush (7-12) pitched 5 2-3 innings, giving up three runs on five hits for the Brewers.
The Cubs grabbed a 2-0 lead in the second inning. After Darwin Barney and Zambrano singled, Kosuke Fukudome hit a grounder to Brewers second baseman Rickie Weeks, whose throw to second was wide, allowing Barney to score. Castro hit a sacrifice fly to score Zambrano.
Zambrano helped himself in the fifth inning. After Blake DeWitt walked and Barney singled, Zambrano lined a single to center to score DeWitt and increase the Cubs lead to 3-0.
Barney scored on a throwing error in the eighth inning after Zambrano beat out a grounder for his third hit to give the Cubs a 4-0 lead.
NOTES: Brewers vice president of communications Tyler Barnes said the team was investigating who put a fake press release critical of Cubs general manager Jim Hendry in the press box before the game. Cubs 3B Aramis Ramirez missed his fourth straight game with a sore right quad. He is day to day. Prior to the game, the Brewers recalled RHP Mark Rogers from Double-A Huntsville. The 2004 draft pick made his major league debut pitching a scoreless ninth inning.