SAN FRANCISCO -- Rookie Eliezer Alfonzo climbed the stairs to the clubhouse entrance to find Hall of Famer Orlando Cepeda there waiting with a congratulatory hug and handshake. Armando Benitez received his share of high-fives, too.
Pedro Feliz ended an 0-for-15 stretch with a tying two-run double in the seventh and the Giants won for the eighth time in 10 games heading into a four-game series against the NL wild card-leading Cincinnati Reds.
Benitez came through a day after manager Felipe Alou pulled him with two outs in the ninth following an RBI single to Luis Gonzalez. This time, the embattled closer pitched a perfect ninth -- striking out Gonzalez on a slider to end it.
"People expect to see me come into the game and do what I did today. I expect it," Benitez said. "I take responsibility if I lose the game. If I make a mistake, I make a mistake. You have to understand you're human. You're not a robot."
Steve Kline (4-3) pitched one inning for the win and Benitez, booed yet again when he took the mound, earned his 16th save in 24 chances. He pumped his right fist when his job was done and pointed to the sky in celebration.
Alfonzo tripled to right-center moments after Feliz doubled to center against Brandon Lyon (1-3) to tie it at 6. The Giants completed a three-game sweep of the stumbling Diamondbacks, who lost their fourth straight and sixth of seven. Alfonzo had a go-ahead double in the eighth inning of Tuesday's 7-6 victory.
"Today I was so excited," he said. "What I put in my mind is trying to work every day - believe in yourself."
Eric Byrnes hit a two-run single in the sixth inning to give the Diamondbacks the lead and rookie Chris Young had his first major league homer with a two-run shot in the fourth, but Arizona's bullpen couldn't hold the lead.
Ray Durham hit a three-run homer to establish a new career high for RBI in a season and Giants slugger Barry Bonds had back-to-back multihit games for the first time since Aug. 20-21, 2004, against the New York Mets.
Bonds singled to center in the first to drive in a run and Durham followed with a shot that barely carried into the right-field arcade for his 20th home run.
Durham, among a handful of key Giants players set to become a free agent after the season, extended his season-high hitting streak to 13 games -- the best by a Giants player this year -- and matched his career-best homers total that he also accomplished with the White Sox in 2001.
Durham has a career-high 77 RBI, two more than he had in 2000 for Chicago.
The 42-year-old Bonds reached on an infield single in the third, grounded out to first in the fifth and flied out to center in the seventh. He had five hits in the series, including his 725th career home run Monday night that pulled him within 30 of tying home run king Hank Aaron's record of 755. The slugger doubled and singled Tuesday.
Giants ace Jason Schmidt received a no-decision but is still 11-0 over his last 16 starts against Arizona. He loaded the bases by plunking pinch-hitter Craig Counsell in the sixth, then Byrnes followed with a single to center.
Young connected with a drive to left-center moments after Stephen Drew doubled in a run in the fourth. Drew also scored twice for Arizona, which will spend Thursday's off day hoping to get things turned around in a hurry with the first-place Los Angeles Dodgers coming to Phoenix for a weekend series.
"Realistically, we're in the NL West and anything can happen," Gonzalez said. "Last week, the Giants were dead in the water and now they're back in it. The team that has the last hot steak probably will win it."
Schmidt was tagged for six runs and eight hits, and he struck out three and walked two.
Arizona starter Enrique Gonzalez was done after four innings and his winless stretch reached seven starts since a win July 17 against the Dodgers.
Schmidt's strikeout of Young in the second gave him 1,031 punchouts as a Giant, good for sole possession of ninth place in franchise history ahead of Mike McCormick (1,030).
- Schmidt singled off the wall in left in the second and doubled off the left-field wall in the fourth for his third career multihit game and first since April 10, 2005, against Colorado.
- Schmidt has not lost to the Diamondbacks since Sept. 5, 2002.