Giants 2, Cubs 0: Barry Zito outdueled Travis Wood as San Francisco extended Chicago's road losing streak to 10 games.
Joaquin Arias and Melky Cabrera hit RBI singles for the Giants, who improved to 5-1 on their seven-game homestand.
Zito (5-2) came within two outs of his second complete game of the season, allowing four hits and two walks with five strikeouts. The former AL Cy Young Award winner won for the fourth time in five starts and improved to 3-0 in five home outings.
Sergio Romo retired both batters he faced for his second save in as many days.
San Francisco gave Zito all the offensive support he needed in the fifth inning as Angel Pagan hit a one-out double and scored on Arias' single two batters later.
It was all the Giants could muster against Wood (0-2), who yielded three hits and walked two with seven strikeouts over seven innings.
San Francisco tacked on an insurance run in the eighth as Gregor Blanco scored from first on Cabrera's two-out single as Chicago left fielder Alfonso Soriano threw the ball in to second base instead of hitting the cutoff man.
Ian Stewart and Reed Johnson both went 2-for-3 for the Cubs, who have dropped 15 of 18.
GAME NOTEBOOK: Giants 3B Pablo Sandoval went 1-for-4 as the designated hitter in the first game of his rehab stint with Class A San Jose on Saturday. Sandoval, who is sidelined with a fractured left wrist, has had an eventful weekend as he was questioned by the Santa Cruz County Sheriff's Department on Friday regarding a sexual encounter that his lawyer called "consensual". No charges have been filed against Sandoval as of yet. ... Pagan's double extended his home hitting streak to 27 games. ... San Francisco has hit only six home runs in 28 contests at AT&T Park. ... Stewart was back in the lineup after being held out of the starting lineup Saturday with a sore left wrist.