SAN FRANCISCO -- Andres Torres spent the better part of the last few weeks watching his teammates celebrating on television.
When it was finally his turn, he wasn't about to miss out on all the fun.
Torres delivered the go-ahead RBI double, Aubrey Huff hit a tying home run and the San Francisco Giants rallied from three runs down for a 4-3 victory over the Arizona Diamondbacks on Wednesday night.
"It feels great now to be a part of it again," said Torres, who returned from the 15-day disabled list a day earlier after a strained left Achilles forced him to do a rehab stint at Triple-A Fresno. "I feel healthy again, and I'm glad I can do my part."
|More on D-Backs at Giants|
Miguel Tejada hit a run-scoring single and then doubled with one out in the sixth to chase Diamondbacks starter Armando Galarraga (3-3), setting the stage for another Giants comeback.
He scored on Torres' double to right-center field off reliever Juan Gutierrez to give San Francisco a season-high fifth straight win. The Giants (20-16) improved to four games over .500 for the first time this season.
"The one thing I have to say is I have to do something for this team," said Tejada, who finished with three hits and started to break out of his season-long slump. "They put a lot of confidence in me, and I have to produce."
So did most of the Giants in another all-around effort.
Jonathan Sanchez (3-2) allowed three runs and six hits in six innings. Three relievers kept the Diamondbacks scoreless before Brian Wilson pitched out of jam in the ninth for his 12th save
The Giants didn't wait as long to come back this time.
After wins in the final at-bat in three of the previous four games, San Francisco fell behind again before squeaking out runs and leaning on its bullpen.
Tejada came through with the one-out double in the sixth. Then Gutierrez came in and got pinch-hitter Pat Burrell to fly out to left before Torres' double put San Francisco ahead 4-3.
"We had a ton of chances early," Diamondbacks manager Kirk Gibson said. "We had chances to keep them from scoring, too. It's disheartening but you have to keep plugging."
Ramon Ramirez, Javier Lopez and Sergio Romo kept Arizona scoreless over the next two innings. Wilson briefly made things interesting in the ninth -- as usual -- when Xavier Nady hit a leadoff double.
Gerardo Parra walked and Henry Blanco struck out trying to bunt. Russell Branyan grounded out to first, and then Torres caught Kelly Johnson's flyball against the center-field wall for the final out.
The bullpen's effort was just the kind of pick-me-up that worked so well for the World Series champions last season. And it was a much-needed boost for the starting pitcher again.
"That's kind of our way, I think," Giants manager Bruce Bochy said. "If you look at what we did last year, it was somebody different it seemed like coming up with the big game-changing contribution."
Sanchez struggled with his control again but managed to minimize the damage.
Johnson had a leadoff double in the first inning, and Stephen Drew drove him in two batters later with a grounder to first base. Blanco had an RBI single in the second and a solo homer to left in the fourth, giving Arizona a 3-0 lead.
That seemed to be a comfortable cushion for Galarraga, although no lead seems to be enough against these Giants lately.
Tejada showed signs of busting out his slump with a run-scoring single with two outs in the fourth. After loading the bases with a walk to Sanchez, Galarraga threw a wild pitch that went to the backstop and scored Aaron Rowand from third.
Huff started the fifth with a solo homer over the right-field wall, tying the score at 3. The home run was Huff's fourth of the season.
Galarraga left after 5 1/3 innings, allowing four runs and eight hits and striking out four. Arizona has lost three straight games and four of its last five.
"I walked the pitcher, I threw the wild pitch," Galarraga said. "The only good swing was the home run. It was down but in the middle of the plate."
Giants C Buster Posey left in the seventh after taking consecutive foul balls from Kelly Johnson off his mask. Bochy will give Posey Thursday off with a day game, and Posey said he was fine after undergoing precautionary tests for a concussion. ... Giants LHP Barry Zito threw off the mound before the game for the first time since he sprained his right foot in a start April 16. He threw about 10 minutes and will have another bullpen session later this week. ... Gibson said RHP Josh Collmenter will make his first start in the majors Saturday against the Dodgers. Collmenter was brought up from the minors a couple weeks ago and has pitched only in relief.