CHICAGO -- If Barry Zito is going to permanently reclaim a spot in the Giants' rotation, he'll need more starts like this.
"I was trying to execute and things worked out for the most part," Zito said. "We scored some runs and played great defense."
|More on Giants at Cubs|
Zito (1-1) pitched for the first time since leaving his start on April 16 with a right foot sprain. He allowed four hits and two runs, leading the Giants to their seventh straight win.
"It's a big game for us to come back and win the second one, but for Z's first start back, I thought it was a great outing," Giants manager Bruce Bochy said.
Brian Wilson got his 24th save.
Nate Schierholtz had three hits and two RBI to pace the San Francisco offense, and Brandon Crawford added two hits and two RBI. Crawford also saved a run with a highlight reel stop of an Aramis Ramirez grounder in the third.
"When there are runners on scoring position and two outs, we're told to lay out and keep everything in front," Crawford said. "In that situation, I was trying to get to anything I could and get rid of it as soon as I could."
Rodrigo Lopez (0-2) -- pressed into starting duty after throwing out of the bullpen for most of the season -- allowed eight hits and four runs in 4 2/3 innings for the Cubs.
"He threw the ball good," Cubs manager Mike Quade said. "He did really well, I thought."
In the second game, Lou Montanez hit a two-run homer for the Cubs, who were held to five hits. Ramirez also homered for Chicago.
Zito was sharp early, striking out Reed Johnson to start the game and retiring first six Cubs.
"Change of speeds is so important and to be able to get a feel for all the pitches early, that's big deal," Zito said.
Alfonso Soriano led off the third inning with a single. Montanez followed with his first Cubs homer -- 11 years and 22 days after he was drafted by the team in the first round of the 2000 draft.
Montanez had four big league homers during his time with the Orioles in 2008 and 2009, but he played 1,076 games in the minors after being selected by the Cubs. His blast to left put the Cubs up 2-1.
Zito shut down the Cubs after Montanez's homer for his longest outing since August 6, 2010.
The Giants scored in the second when Cody Ross led off with a double and scored on Schierholtz's single.
Lopez struggled in the Giants' five-run fifth.
The first run had a controversial call. With Andres Torres on third, Pablo Sandoval hit a broken-bat fly into center. Johnson charged in to make the catch and with his momentum going toward the plate, he made a perfect throw to catcher Geovany Soto, who tagged the sliding Torres.
Home plate umpire Tim McClelland initially called Torres out, but when the ball trickled out, the call was changed.
"I got the ball, applied the tag, took my mask off and tried to flip the ball to my bare hand to show it," Soto said. "As I flipped the ball, I dropped it. I saw the play on video and I still think he was out, but the umpire was behind me so it was tough for him to judge. Tough break right there."
Quade charged onto the field, arguing that Soto held the ball long enough for the out. The umpires consulted at the mound, but the call wasn't changed and the game was tied at 2.
"I think that changed the whole game," Lopez said. "I saw the replay already and of course I think he was out. The Giants are probably saying different, but that was a play that changed the game. I started getting tired after all the energy I used on the last play."
Lopez allowed back-to-back singles to Aubrey Huff and Ross, and was removed after throwing 96 pitches.
Reliever John Grabow's first pitch to Schierholtz was lined for a single, scoring Huff. Crawford doubled, scoring Ross and Schierholtz. Eli Whiteside singled in Crawford. The first four batters to face Grabow reached.
"It was tight game up to that point, a close play at the plate," Bochy said. "After that, it just got contagious and it's nice to get the big inning."
Zito saw his outing on Tuesday as a building block.
"I was glad they stuck with me," Zito said. "I was able to go back out there and get my pitch count over a 100, start conditioning my arm and get ready to do that consistently."
- Cubs manager Mike Quade got a nice pregame surprise when it was announced that Giants manager Bruce Bochy had added him to the NL staff for the All-Star game, to be played July 12 in Phoenix. Quade replaced former Washington manager Jim Riggleman, who resigned last week.
- The Cubs demoted rookie utility player DJ Lemahieu between games, sending him to Triple-A Iowa. They recalled reliever Marcos Mateo from Iowa to bolster a tired bullpen that worked 4 2/3 innings in Tuesday's opener.