Carlos Gomez and Ryan Braun each had three hits and a stolen base for the Brewers, who have a Major League best 17-6 record.
Garza (1-2), who pitched part of last season with the Chicago, retired the Cubs in order in four of the first six innings. He gave up two runs and four hits while striking out seven and walking one.
Francisco Rodriguez pitched a scoreless inning to pick up his 10th save in 10 chances.
Cubs starter Carlos Villanueva (1-5) gave up five runs and 11 hits in five innings.