Zito (5-2) notched his fourth win in five starts, dominating the Cubs on four hits while walking two and striking out five.
The left-hander threw 61 strikes in his 96-pitch performance as the Giants won for the fifth time in their seven-game homestand, which concludes Monday with a fourth contest against Chicago.
Sergio Romo logged his second save after retiring the final two Cubs batters.
Joaquin Arias and Melky Cabrera drove in runs for the second-place Giants, who pulled to within three games of Los Angeles in the National League West with the triumph.
Chicago's Travis Wood (0-2) was saddled with the loss, yielding only one run on three hits over seven full frames.
Aaron Carter is still in love with Hilary Duff
Millions of Getty images now available for free via embed tool