Jeff Keppinger hit a run-scoring single with two outs in the bottom of the 10th inning to lift the San Francisco Giants to a 2-1 win over the Houston Astros on Saturday night.
Mark DeRosa, in as part of a double switch, singled with one out and then stole his first base in two years to set up the game-winner.
Jeremy Affeldt (3-2) got the final two outs of the 10th to earn the win.
Fernando Rodriguez (2-3) took the loss.
Carlos Beltran had two hits and drove in a run for the Giants, who have won two straight at home for the first time in over a month.
Carlos Lee had three hits and drove in a run for the Astros, who have lost six of seven.
Eric Surkamp was called up from Double-A Richmond to make the start. A control pitcher, he walked the first batter he faced and three in the first three innings. Surkamp allowed one run on six hits. He walked three and struck out four in his major league debut.
Houston starter Brett Myers, who has not won since June 17, matched season lows for runs (1) and hits (2) in his seven innings. He walked three and struck out seven. Myers is 0-7 over his last 13 starts.
Mike Fontenot doubled to lead off the first and scored when Beltran grounded out to first.
Myers retired 12 of the next 13 hitters he faced and finished strong, striking out two of the last three batters he faced.
Fontenot was the only Giants player to venture any further than second base until the 10th.
The Astros were 1 for 11 with runners in scoring position, with Lee's double driving in the tying run in the fifth. Houston stranded 10 runners.
NOTES: OF Nate Schierholtz was placed on the 15-day DL to make room for Surkamp. ... Astros IF Jose Altuve led off for the fourth time because manager Brad Mills wanted OF Jason Bourgeois to hit second. ... Mills does not want to put one of his pitchers in a position to lose 20 games. "Hopefully that's not an issue," he said. "That wouldn't be too cool. We have other issues." ... Astros' RHP Bud Norris, a native of nearby Novato and a Giants fan growing up, will make his first career appearance at AT&T Park on Sunday. Norris is 2-2 over his last 10 starts. He's 11th in the NL with 151 strikeouts and seventh in strikeouts per nine innings. ... The Giants will send RHP Matt Cain to the mound on Sunday. He's 1-3 in seven appearances, six starts, against the Astros and allowed seven runs on nine hits in 2 2-3 innings in his last start against them. ... Giants RHP Brian Wilson played catch for the third straight day, reporting some improvement in his right elbow. ... IF Pablo Sandoval was replaced by a pinch hitter for the first time this season. ... DeRosa last stole a base on June 25, 2009.