Cain shut down Chicago for seven innings and hit his second career home run off one of baseball's best slugging pitchers to lead the San Francisco Giants to a 4-1 victory Thursday.
"If you thought a pitcher was going to hit a home run today I don't think Cain would have been your pick," Bochy said. "He did it all. The kid pitched great and that was a big home run."
Cain, who came into the game with the third-lowest run support in the National League, figured out a way to fix that problem by homering for the second time this month. Cain (6-13) has won three of his last four starts -- including both starts he homered in -- after winning just three of his first 22 this season.
That the home run came off Zambrano (14-10) must have been especially sweet since the Cubs' ace is second to Mike Hampton among active pitchers with 12 career longballs.
"I think he found my bat really," Cain said. "He kind of just threw it into my swing and I got lucky. I thought I popped it up, but I guess it got up and kept going."
Cain's big day on the mound and at the plate helped San Francisco avoid being swept by the Cubs in a three-game series for the first time since 1994 and snapped a six-game home losing streak. The Giants hadn't lost seven in a row at home since September 1993, when they still played in Candlestick Park.
The Cubs had their lead in the NL Central cut to a half-game over the idle Milwaukee Brewers.
Giants slugger Barry Bonds got the day off after starting Wednesday's night game, remaining at 760 career home runs. But Cain supplied the power with the home run in the sixth inning. Zambrano could only stare out toward the left-field seats in amazement as Cain rounded the bases.
"I didn't know anything about him," Zambrano said. "Anybody can hit a home run in the big leagues if you make good contact and have a little power, you can hit it out of the ballpark. I made a mistake, he had a good swing. He put good wood on the ball and the ball went out."
Cain allowed one run and eight hits in seven innings to win consecutive starts for the first time all season. Brian Wilson pitched a perfect eighth and Brad Hennessey finished for his 13th save in 15 chances.
The Giants also scored twice in the fourth when Zambrano walked the bases loaded -- including a free pass to Cain -- before allowing a two-run single to Dave Roberts that opened the scoring.
"You can't walk three people in an inning and walk the pitcher to face the front part of the lineup," Cubs manager Lou Piniella said. "You're going to get yourself in trouble and that's what happened."
Zambrano allowed four runs and six hits in 5 1/3 innings of his first official start since signing a $91.5 million, five-year contract extension last Friday. The right-hander retired all nine batters he faced Sunday night against St. Louis before that game was rained out and came back on three days' rest to make this start.
Zambrano has lost his last three official starts with an 8.66 ERA in that span.
"I think I'll win one after I signed this contract," he said. "I don't think it'll be loss, loss, loss until I retire. I think at some point I'll win one game and I'll work on it."
Cain has turned his season around of late, improving to 3-1 with a 2.36 ERA in August, doubling his win total from the first four months.
He held the Cubs scoreless until Mike Fontenot's RBI single in the seventh inning cut the Giants' lead to 4-1.
"He was awesome," catcher Guillermo Rodriguez said. "Actually when he was warming up in the bullpen he wasn't throwing any strikes. I was worried about it when I walked back to the dugout thinking, 'Oh my god, I don't know what I'm going to do today.' As soon as the game started he was throwing strikes."
- Cain's first career homer came Aug. 8 against Washington. He has two homers in his last seven ABs after hitting none in his first 111.
- Cubs RHP Kerry Wood pitched a scoreless inning of relief to lower his ERA to 3.52 in seven outings since being activated from the DL on Aug. 3.
- Before the game, the Cubs acquired OF Craig Monroe from Detroit for a player to be named. Monroe will join the team Friday in Arizona.
- San Francisco OF Rajai Davis, who batted .364 in his first 18 games after being acquired in a trade from Pittsburgh is 1-for-19 in his last five games after going 0-for-5.