SAN FRANCISCO -- The countdown is on. Barry Bonds is closing in on Hank Aaron in a hurry.
Bonds hit his 740th home run Sunday, connecting for the second consecutive game and helping Matt Cain earn his first win of the season in the San Francisco Giants' 2-1 victory over the Arizona Diamondbacks.
"It's awesome for him to be swinging it like he's swinging it," Cain said.
Cain wasn't bad himself.
The right-hander pitched a three-hitter for his third career complete game and first since a one-hitter last May 21 at Oakland. He struck out four and walked four in a game that lasted just one hour, 56 minutes. It was the fastest nine-inning game in the major leagues since Arizona beat St. Louis 3-0 in one hour, 54 minutes on Sept. 9 last season, according to the Elias Sports Bureau.
Bonds moved within 15 homers of Aaron's record. With two outs in the fourth inning, he sent the first pitch from Yusmeiro Petit (0-1) into the seats in the right-field arcade for his sixth homer of the season.
"He doesn't have anything bothering him," Giants second baseman Ray Durham said. "The sky's the limit."
The 42-year-old Bonds walked out to left field in the top of the fifth to a loud standing ovation, tipping his cap as he made his way to his spot. Fans bowed over the left-field fence.
Petit, called up from Triple-A Tucson before the game to make his second major league start, became the 438th pitcher to give up a homer to Bonds.
"He changes your club, your lineup, including the opposing pitcher seeing Barry out there," first-year San Francisco manager Bruce Bochy said. "I can't say enough about what he's done for us the last few days. It's pretty remarkable what he's doing at his age. ... Since coming over here, it amazes me what he does. It tells you how much better he is than any of the rest of us."
Bonds flied out and struck out looking in his other two at-bats, but his home run and Pedro Feliz's shot leading off the third led the Giants to their season-best fifth straight victory.
Bonds hit his 739th homer in the second inning of Saturday's 1-0 victory to help Barry Zito win at home for the first time with the Giants. This marked the first time Bonds homered in back-to-back games since Sept. 22-23 last year at Milwaukee. Bonds had homers in three in a row from Sept. 2-4, the first two at Chicago and the third in Cincinnati.
Cain (1-1) allowed a leadoff single by Eric Byrnes to start the game, but that was it until Byrnes and Alberto Callaspo each singled with none out in the ninth. Orlando Hudson grounded into a double play to bring in the Diamondbacks' lone run. Cain, who had thrown 101 pitches at that point, then received a visit on the mound from pitching coach Dave Righetti and stayed in the game.
"His fastball has life to it," Byrnes said. "It has a giddy-up at the end. He's a different type of guy than Zito. He throws fastballs that register in the low 90s, and they appear a lot faster than that."
Cain bounced back after a no-decision at Colorado on Sunday, when he pitched seven scoreless innings and allowed only two hits.
"There's nothing more respectful (than) for him to put the confidence in me to complete the ninth," Cain said about Bochy. "It was great to be able to be back out there."
Cain, who led all NL rookies with 13 wins last season, pitched well enough to win in his first three starts. He gave up only three hits in his previous two outings -- and one run in 14 innings.
Arizona's season-long skid reached four games with the club's sixth defeat in seven games. The Diamondbacks went 1-for-20 during the series with runners in scoring position. They hope getting Randy Johnson back to make his season debut Tuesday against San Diego might help get the team out of its funk.
"We knew in our division pitching was the way it was going to be," manager Bob Melvin said. "We knew pitching would be the dominant force in the division, and so far it has been. We feel good about Randy going Tuesday."
Aside from the two homers, Petit was pretty good. He struck out five and didn't walk a batter, allowing four hits in seven innings.
San Francisco's Rich Aurilia had his career-high tying 14-game hitting streak snapped with an 0-for-3 day.
Omar Vizquel was robbed of a hit on Byrnes' diving catch in left-center in the sixth. Vizquel received his 11th Gold Glove before the game, two days before the shortstop turns 40.
- Johnson will be allowed to go about 100 pitches in his season debut Tuesday, when the Big Unit will come off the disabled list after recovering from October back surgery.
- To make roster room for Petit, Arizona optioned RHP Mike Schultz to Tucson.
- Arizona 1B Conor Jackson left after the third with tightness in his left hamstring.
- Vizquel received a warm standing ovation during the pregame Gold Glove ceremony, tipping his cap to the crowd.
- Byrnes stole his sixth base in the first.