For the Brewers, Khris Davis went deep in the seventh inning, his sixth home run of the Cactus League.
The earlier innings featured a duel between onetime teammates Yovani Gallardo and Carlos Villanueva. Villanueva, pegged as Chicago's No. 5 starter, stranded runners in scoring position in the second, third and fifth while holding the Brewers scoreless on five hits in six innings. Gallardo, Milwaukee's Opening Day starter, allowed only one run, unearned, on four hits in 5 1/3 innings.
The Cubs scored against Gallardo in the fifth, when Luis Valbuena took a leadoff walk, advanced on Villanueva's sacrifice bunt and scored on an error charged to Brewers shortstop Donnie Murphy. David DeJesus had hit a popup along the left-field line, and Murphy couldn't come up with what would have been a tough catch.
DeJesus and shortstop Starlin Castro had two hits apiece for the Cubs, who featured their projected Opening Day lineup.
The Brewers and Cubs will meet again April 8 in Chicago's home opener.
Up next: Left fielder Ryan Braun should be back in the lineup Saturday when the Brewers travel to Tempe, Ariz., to face the Angels for the second time in five days. Braun hustled for an inside-the-park home run against the White Sox on Thursday and has been taking it easy since playing extensively for Team USA in the World Baseball Classic. Right-hander Marco Estrada makes the start for Milwaukee against Angels right-hander Garrett Richards in a 3:05 p.m. CT game to be broadcast on the Brewers Radio Network.
Adam McCalvy is a reporter for MLB.com. Read his blog, Brew Beat, and follow him on Twitter at @AdamMcCalvy. This story was not subject to the approval of Major League Baseball or its clubs.