Bonds collects homer No. 655

Slugger also picks up milestone walk as Giants cut magic number to four

? Watch out, Hammerin’ Hank — Barry Bonds is just 100 homers away.

Bonds hit his 655th career home run and also reached a milestone in walks as the San Francisco Giants rallied to beat the San Diego Padres, 8-7, Monday night.

Bonds connected for a solo shot off Brian Lawrence in the first inning for his 42nd homer of the season. The slugger is five shy of tying his godfather, Willie Mays, for third on the career list at 660.

Hank Aaron leads that list with 755, followed by Babe Ruth at 714. Bonds is tied with St. Louis’ Albert Pujols for most in the NL, one behind major-league leader Alex Rodriguez of Texas.

Pinch-runner Pedro Feliz scored the go-ahead run on a wild pitch by Jay Witasick (3-5) with two outs in the eighth, capping a crazy comeback.

San Francisco’s magic number to clinch the NL West was reduced to four. Any combination of Giants wins and Dodgers losses that equal four gives the Giants the division title. Los Angeles didn’t play Monday.

Joe Nathan (10-4) retired the only batter he faced for the win, and Tim Worrell pitched the ninth for his 34th save.

Bonds was walked twice, including a free pass in the eighth that resulted in the tying run. J.T. Snow had walked two batters ahead of Bonds, and Edgardo Alfonzo hit an RBI single to pull the Giants within one. Benito Santiago then hit a 3-2 pitch into left to score Bonds.

With Jose Cruz Jr. at the plate, Witasick threw a ball into the dirt allowing Feliz to come home for the go-ahead run.

Giants slugger Barry Bonds watches his 655th career home run leave the field. Bonds hit the milestone homer in the first inning Monday in San Francisco.

In the bottom of the sixth, Bonds was intentionally walked by Brandon Villafuerte to load the bases. It was Bonds’ 2,063rd walk, breaking a tie with Ruth for second on the career list. Rickey Henderson leads with 2,190.

Braves 10, Expos 6

Montreal — Robert Fick hit his first home run in six weeks as Atlanta reduced its magic number for clinching a record 12th straight division title to three with a victory over Montreal. Horacio Ramirez (11-4) won his third straight decision for Atlanta, which got its major-league-leading 94th win and moved 10 games ahead of idle Florida in the NL East. Ramirez allowed seven hits and two runs in seven innings.

Cubs 4, Mets 1

Chicago — Matt Clement matched his career high with his 13th victory as Chicago gained ground in the NL Central race. Randall Simon had two RBIs for Chicago, which pulled within 11/2 games of first-place Houston, which was idle. The Mets lost for the 10th time in 11 games.

Cardinals 11, Brewers 2

St. Louis — Brett Tomko allowed six hits over eight innings and drove in three runs as St. Louis snapped a four-game losing streak. Tomko (13-8) went 2-for-4, including a two-run single in the second and an RBI single in the third, as the Cardinals moved within five games of idle Houston in the NL Central. Albert Pujols hit his 42nd home run.

Pirates 6, Reds 3

Pittsburgh — Matt Stairs hit a three-run homer in support of Ryan Vogelsong’s first major-league victory as Pittsburgh beat Cincinnati. Vogelsong (1-1) scattered three hits over five innings in his third start of the season. The right-hander was 0-6 in 22 previous major-league appearances, including four starts. Julian Tavarez pitched a perfect ninth for his eighth save in 11 chances.