SAN FRANCISCO (AP) -- Ian Desmond singled in Bryce Harper in the 10th inning, and the Washington Nationals beat the San Francisco Giants 2-1 on Wednesday to avoid a three-game series sweep.
Harper hit his 12th homer in the sixth and sparked the winning rally with a one-out double. Ryan Zimmerman was walked intentionally before Desmond came up with his big hit against Jeremy Affeldt (1-1).
Tyler Clippard (3-1) pitched a perfect 10th for the win and Rafael Soriano got three outs for his 14th save. He failed to convert each of his last two chances, including Tuesday night's 4-2 loss.
Buster Posey hit a tying RBI single for San Francisco in the eighth. Marco Scutaro went 0 for 3 with two walks, ending his 19-game hitting streak. He flew out to deep left to end the game.
Both teams failed to muster much offense in a nice pitchers' duel between Gio Gonzalez of the Nationals and Giants left-hander Madison Bumgarner.
Gonzalez was charged with one run and four hits over 7 1-3 innings, throwing a season-high 116 pitches. Harper's leadoff drive in the sixth was the only blemish for Bumgarner, who gave up four hits in seven innings.
Bumgarner's first four outs were by strikeouts and five of the first eight. He did not strike out a batter after the third inning. He gave up a career-high nine runs - seven earned - in a season-low 4 2-3 innings last Friday at Colorado.
Gonzalez has been pitching better of late, giving up five runs over his last 29 innings after allowing 19 runs over his first 32 innings.
Angel Pagan made it to third with one out in the first, but Gonzalez struck out Hunter Pence and Brett Pill to end the inning.
Gonzalez, who had his third consecutive no-decision, retired 15 of 16 hitters during one stretch.
NOTES: Attendance at AT&T Park reached 1,040,301 for the season in home game No. 25. ... The Nationals have hit at least one home run in 71 consecutive series. ... RHP Jordan Zimmerman (7-2, 1.62 ERA) takes the mound for the Nationals on Friday against the Philadelphia Phillies. ... RHP Tim Lincecum (3-3, 4.70 ERA) starts Friday's game for the Giants against the Colorado Rockies. ... Giants INF Pablo Sandoval was not in the starting lineup because of an illness. ... Giants 1B Brandon Belt felt tightness in his back and did not start. ... The Nationals ended their longest road trip of the season (10 games). ... Nationals OF Tyler Moore went 0 for 3 and is hitless in his last 21 at-bats.