Zambrano is 12-and-7 after holding the Giants to two hits and a pair of walks in five shutout innings. He didn't have to face Barry Bonds, who was held out of the Giants' lineup for the third straight day to rest his sore legs.
Hill slapped a two-run double in the Cubs' four-run fourth, then added a bases-loaded double in a five-run fifth.
Jacques Jones opened the scoring with a two-run single before the Cubs completed the 17th victory in their last 22 games.
Matt Cain took a no-hitter into the fourth before falling to 3-and-11, charged with six runs and four hits in four-plus innings.