Barry Bonds' chances to hit are becoming more limited as he creeps closer to the home run record.

When Jeff Francis hung an offspeed pitch to the Giants 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 visiting Colorado last night, 5-3.

Bonds moved within 12 homers of Hank Aaron's career record of 755, hitting a two-run shot to rightfield 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 Ryan 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.

Brad Hennessey (1-1) pitched 1 1/3 innings for the win. The Giants rallied after Colorado had gone ahead on shortstop Aurilia's throwing error in the top of the eighth.

Barry Zito allowed two runs and four hits in seven innings, struck out four, walked three and threw 122 pitches.

In other games:

* At Pittsburgh, Jason Marquis (4-1) limited the Pirates to four hits in eight innings and Alfonso Soriano homered for the second time in two days, leading the Chicago Cubs to a 7-1 victory in the regularly scheduled game. A half-hour before that game started, the Cubs completed an 8-6 win in a game suspended on Tuesday night by rain.

* At Los Angeles, Mark Hendrickson (2-0) allowed three hits and no runs in six-plus innings, leading the Dodgers to a 2-1 victory over Arizona.

* At Milwaukee, Carlos Villanueva (2-0) pitched four scoreless innings of relief for injured starter Chris Capuano, helping the Brewers complete a sweep of St. Louis with a 4-0 win.

* At New York, Oliver Perez struck out 10 in 5 2/3 innings, singled twice to start two rallies, and scored twice, to help the Mets beat Florida, 6-3.

* At Los Angeles, lefthander Mark Hendrickson allowed three hits in six innings and struck out seven as the Dodgers beat Arizona, 2-1.

* At San Diego, local lefty Matt Chico (0-2) got a rude welcome home, allowing five fourth-inning runs in relief of starter Clay Hensley as the Padres rolled to a 7-3 win over Washington. Hensley left with a strained groin.

* At Houston, Roy Oswalt (4-2) pitched eight stellar innings and rookie Hunter Pence got his first career RBI, leading the Astros to a 3-1 win over Cincinnati. *