Barry Bonds had a feeling Mike Koplove would pitch to him.

"I could see it in his face," Bonds said. "Like, 'I'm tired of this, too. You might miss it.' "

Bonds certainly didn't, hitting a 460-foot shot off the bottom of the center field scoreboard for his 699th home run. The ninth-inning drive yesterday helped the San Francisco Giants regain the NL wild-card lead with a 5-2 win over the Arizona Diamondbacks in Phoenix.

Bonds walked his first two times up, increasing his record total to 203, then took a called third strike and grounded out to overshifted second baseman Scott Hairston in short right field.

With the count 3-1, Bonds finally got a pitch he liked and connected for his 41st homer of the season, the 100th September homer of his career.

"If you don't start your car eventually, the battery goes dead," Bonds said. "I'm sitting over there just rooting for everybody and, hopefully, we're staying in this thing, but my car's got to start, too, once in a while."

Bonds motioned to the sky in his usual salute to his late father as he crossed home plate but did not acknowledge the crowd. Fans booed loudly Saturday night, when Bonds was walked three times.

"People living in a capitalistic country like this, they want their money's worth," Giants Manager Felipe Alou said. "I believe they came to see that guy swing a bat."

Bonds is third on the career list behind Hank Aaron (755) and Babe Ruth (714). After an off-day today, the Giants play at Milwaukee tomorrow.

San Francisco (79-65) won for the sixth time in eight games and are one game ahead of the Chicago Cubs (76-64) and Houston (78-66).

Jason Schmidt (16-6) pitched a four-hitter, struck out nine and walked two in his fourth complete game of the season, retiring 21 consecutive batters in one stretch.

* CARDINALS 7, DODGERS 6: Larry Walker went 4 for 5 with two homers and three RBI as St. Louis ended Los Angeles' five-game winning streak.

Despite the victory, the Cardinals ended their first losing road trip of the season with a 2-4 record. But they increased their NL Central lead over Chicago to 17 games and reduced their magic number to five for clinching the division.

Chris Carpenter (15-5) allowed six runs -- five earned -- and eight hits in five innings in his first career appearance against the Dodgers. The right-hander, who entered with the lowest run support on the Cardinals' staff (3.9 per game), struck out six and walked one.

* MARLINS 11, CUBS 1: Juan Pierre had three of Florida's 15 hits, A.J. Burnett pitched eight strong innings and Florida earned a four-game split at Wrigley Field.

Florida is staying in Chicago to play at least two games against Montreal at U.S. Cellular Field, home of the White Sox, beginning today. The games were moved from Miami because of the threat of Hurricane Ivan. The Marlins will still be the home team.

* ASTROS 5, PIRATES 4: Pinch hitter Jason Lane doubled home Eric Brunlett, who also doubled, in the 10th inning as visiting Houston rallied after being held hitless by Dave Williams for six innings.

Chad Qualls came in with two on in the 10th and got Abraham Nunez to ground into a game-ending double play for his first career save.

* PHILLIES 4, METS 2: Vicente Padilla pitched 62/3 innings without giving up a run in his best start since coming off the disabled list and helped visiting Philadelphia complete a three-game sweep.

Hoping to climb back into postseason contention, Philadelphia won its sixth straight and ninth in 10 games.

* PADRES 15, ROCKIES 2: Brian Giles hit a tiebreaking solo homer in the eighth inning, then capped a 12-run ninth with a three-run homer for visiting San Diego.

San Diego tied a team record with 10 hits in the ninth and finished one run shy of the team record for an inning. Ramon Hernandez singled and doubled in the inning, and Sean Burroughs tripled and singled.

* BRAVES 9, EXPOS 8: In Atlanta, Andruw Jones hit a winning double in the 12th inning to lift the Braves after closer John Smoltz blew a three-run lead in the ninth.

* BREWERS 11, REDS 0: Russell Branyan and Brady Clark combined for three home runs and six RBI against their former team, and visiting Milwaukee earned a split of the four-game series.

Barry Bonds watches his 699th career homer, which traveled an estimated 460 feet.