San Francisco Barry Bonds provided the power and Benito Santiago added a touch of surprise for the surging San Francisco Giants.
Bonds splashed his 42nd homer into McCovey Cove, and Santiago caught the Diamondbacks napping as the Giants beat slumping Arizona 3-1 Sunday to move within a game of Los Angeles in the NL wild-card race.
Immediately after Bonds' homer in the fourth, Santiago doubled and scored without a pitch being thrown.
Santiago stole third while Brian Anderson stood on the mound between pitches, then continued home when the startled lefty threw wildly past third baseman Matt Williams for an error.
Santiago said he was focusing on Williams, not Anderson, and noticed the third baseman staring at the ground.
"I just timed it perfect. He was way off the bag. In my first three steps he was still looking down, so I kept going," Santiago said. "You can't focus on the pitcher on that play, you focus on the third baseman. They look around sometimes, they look into the stands."
Williams said Santiago's dash was a good play only because he succeeded.
"If Brian steps off and throws a strike to third, we've got him," Williams said.
But Arizona manager Bob Brenly said his team was not concentrating.
"When everybody gets caught by surprise like that, something's wrong there. A lot of people were sleeping," he said.
Bonds led off the fourth with a 418-foot homer, the 21st hit into McCovey Cove by a Giant since Pacific Bell Park opened in 2000. Bonds has 19 of them.
Bonds, second in the NL in homers to Sammy Sosa's 44, had not hit a ball into the water since May 18.
The Giants won the last three games of their four-game series with the NL West-leading Diamondbacks.
Arizona has lost nine of its last 12 games. The Giants, who play host to the Dodgers in a three-game series starting Monday, have won 11 of 14.
The Diamondbacks lost each of the last three games by a run, scoring just four runs total.
"We're not hitting. We have no sustained offense. We can't seem to get anything going," Brenly said. "We didn't have a good approach at the plate this entire series."
The Giants added an insurance run in the eighth on David Bell's sacrifice fly, but not without a scare.
Bonds' left foot slipped as he lined a single to left leading off the inning, and his left leg buckled. He trotted to first and stayed in the game, scoring on the sacrifice fly.
Russ Ortiz (11-10) won his third straight start, allowing one run on seven hits in eight innings.
Robb Nen pitched the ninth for his 36th save in 44 opportunities. His 199th save with the Giants tied him with Rod Beck for the most in franchise history. Nen has 307 career saves.
Expos 7, Braves 0
Atlanta The Braves missed a chance to clinch their 11th straight division title, losing to Bartolo Colon and the Expos. The Braves are assured of at least a tie for first in the NL East after second-place Philadelphia lost to the New York Mets. Colon (8-3) pitched four-hit ball for seven innings to beat the Braves for the third time since being acquired by the Expos in a June 27 trade with Cleveland.
Mets 11, Phillies 3
Philadelphia Vance Wilson homered and drove in a career-high four runs as New York matched a season high with its sixth straight victory. Ty Wigginton added a home run and three RBIs for the Mets, who finished with 15 hits one shy of a season high. John Thomson (9-11) allowed three runs on six hits in five innings for the win. The Mets began their streak after setting an NL record with 15 consecutive losses at home and dropping 17 of 20 overall.
Cardinals 3, Cubs 1
St. Louis Jason Simontacchi outpitched Kerry Wood and added two hits as St. Louis wrapped up a three-game sweep of Chicago. The NL Central leaders have won five in a row and 10 of 13 to move a season-best 20 games above .500. They swept the Cubs for the second time this year. Wood (10-9) struck out 10 but failed to beat the Cardinals for the fourth time this season, allowing two runs and eight hits in seven innings.
Marlins 11, Pirates 1
Pittsburgh Derrek Lee hit a three-run homer and had four RBIs as Florida beat Pittsburgh. Mike Lowell drove in three runs, Carl Pavano (4-10) snapped a personal five-game skid with his first win since May 18 and Florida got 14 hits to end a five-game losing streak.
Reds 5, Brewers 4
Milwaukee Jimmy Haynes beat his former team for the third time this year as Cincinnati topped Milwaukee. Jose Guillen and Todd Walker homered for the Reds, who went 8-1 at Miller Park this season.
Padres 9, Rockies 4
Denver Ryan Klesko hit two home runs and Brian Lawrence (12-10) won for the first time in five starts as San Diego ended a three-game losing streak. Tom Lampkin added a two-run homer and drove in three runs for the Padres.
Astros 6, Dodgers 2
Los Angeles Roy Oswalt (19-6) took a one-hit shutout into the eighth inning to win his ninth straight decision and Lance Berkman hit one of Houston's three homers. Dodgers starter Kazuhisa Ishii left the game in an ambulance with a small fracture in his skull and a concussion after getting struck flush on the forehead by a line drive off the bat of Houston's Brian Hunter.