SAN FRANCISCO -- Barry Bonds' chances to hit are becoming more limited as he creeps closer to the home run record.
When Jeff Francis hung a fastball to the San Francisco slugger, Bonds made him pay with career home run No. 743. Then in the eighth inning, he lined a go-ahead two-run single to right with the bases loaded to lift the Giants past the Colorado Rockies 5-3 on Wednesday night.
"Oh, man, that's a situation you hope for," teammate Ryan Klesko said of seeing Bonds in the batter's box with the bases loaded. "You've got to pitch to him with the bases loaded -- though I've seen them walk him with the bases loaded."
Bonds moved within 12 homers of Hank Aaron's career record of 755, hitting a two-run shot to right field in the fourth inning. His eighth-inning single gave him four RBI on the night and 1,951 for his career, tying him with Stan Musial for fourth place on the all-time list.
Manny Corpas had no choice but to pitch to Bonds with the bases loaded in the eighth. The pitcher replaced loser Francis (1-4) with runners on first and second after singles by Klesko and Randy Winn, then walked Rich Aurilia to bring up Bonds, who left for a pinch-runner after the hit and got a standing ovation.
Bonds connected for his ninth homer of the year on the first pitch from Francis with one out in the fourth.
The 42-year-old Bonds rounded the bases as "743" flashed on the main center-field scoreboard and fans jumped to their feet. His home run made it 2-0.
It was Bonds' second career homer off Francis. The seven-time NL MVP waved his cap to the crowd when he came out to play left field in the top of the fifth. He flied out to right in the first and again in the sixth.
"Obviously it puts them in a tough spot to have to face Bonds with the bases loaded," Giants manager Bruce Bochy said. "Barry had quite a night and that's always big when you can get a walk like that."
Bonds had been intentionally walked seven times in his previous six games, including three times Friday at Arizona and twice in Monday's series opener with the Rockies.
Francis, one of 438 different pitchers to surrender a homer to Bonds, pitched 7 1/3 innings and saw his losing streak go to four starts as Colorado lost its seventh straight three-game series.
"That pitch he hit off of Francis, there's not many guys in the game who are going to turn on that ball and keep it fair," Rockies manager Clint Hurdle said. "If (his single) is pulled four more feet, we've got a chance at a double play."
Brad Hennessey (1-1) pitched 1 1/3 innings for the win on a night closer Armando Benitez was unavailable because of a sore right knee. The Giants rallied after Colorado had gone ahead on shortstop Aurilia's throwing error in the top of the eighth.
The Giants bounced back from a weekend sweep at Arizona to take two of three from the Rockies.
Barry Zito allowed two runs and four hits in seven innings, struck out four, walked three and threw 122 pitches -- yet another start with little run support. The Rockies tied the game at 2 against Zito in the top of the fifth on an RBI single by Willy Taveras and Troy Tulowitzki's sacrifice fly.
Bonds homered in one of Zito's starts for the second time this year -- also doing so April 21 in a 1-0 home victory over Arizona.
"It's not just me," Zito said. "He's helping out everyone. He's got quite a few home runs already. It's fun to watch."
Rockies right fielder Brad Hawpe made two great catches, robbing Dave Roberts of a hit to end the third after slipping to the ground and still making the catch - saying afterward, "I just slipped in the right spot." Hawpe ran in and snagged Winn's popup in shallow right to start the next inning, just avoiding second baseman Jamey Carroll on the play.
After an 0-2 start, Zito beat the Rockies on April 16 in Denver for his first victory with San Francisco since signing a $126 million, seven-year contract during the offseason.
Colorado's Matt Holliday had his career-best 14-game hitting streak snapped after going 0-for-3 with a walk.
Benitez, who has converted all seven of his save chances, hoped to be ready to pitch in the opener of a four-game series with the Philadelphia Phillies on Thursday night.
"It's all right," he said. "I'll be ready for tomorrow."
- Zito had given up only one earned run in 13 innings in two previous starts against Colorado, including pitching six shutout innings April 16.
- Carroll snapped an 0-for-23 stretch with his fifth-inning single.
- San Francisco SS Omar Vizquel had the night off.
- Rockies RHP Byung-Hyun Kim allowed one run in five innings and struck out eight for Triple-A Colorado Springs in the second of his three scheduled minor league rehab starts as he recovers from a bruised thumb on his throwing hand.