WASHINGTON -- With the outcome of the game riding on his ability to snare a liner in the gap, Denard Span began his pursuit of the baseball by taking a step in the wrong direction.
From that point, Washington's center fielder made all the right moves.
Jordan Zimmermann (14-6) increased his NL-leading win total, allowing one run in seven innings and outpitching Tim Lincecum (6-12). Washington matched its longest winning streak of the season and moved within one victory of .500 for the first time since July 20.
After scoring once in the ninth off Rafael Soriano, the Giants put runners on first and second with two outs. Hunter Pence hit a drive to left-center and Span ran it down, sliding onto the warning track after making the grab and preserving the win.
"I actually took a false step, kind of stepped in a little bit, and then I just broke for the ball and put my head down for two or three steps and was able to, you know, come up for the ball," Span said.
Until the ball landed in his mitt, Span had all sorts of doubts as to whether he would be able to make the catch.
"Off the bat, I'm like oh, bleep bleep," he said, serving as his own censor. "I just put my head down and I looked up and it seemed like I had gained ground on it. And that's when I said, you know what, I'm going to be able to have a chance to reach for it. And once I caught it, I just tried to hold on to it."
Soriano worked around Brandon Belt's RBI single in the ninth and, helped by Span's grab, earned his 31st save.
"I didn't think he was going to get to it," manager Davey Johnson said of Span. "He kind of put it in another gear and then, full-out leap."
Zimmermann gave up six hits, walked two and struck out two. After going 1-3 in his previous four starts, the right-hander permitted only two runners past second base.
But the victory wasn't his until Span made his game-saving catch.
"I was up here sitting in the video room with [teammate Tyler] Clippard," Zimmermann said. "I thought it was a double in the gap and then he comes out of nowhere. It was great to see."
In his last 42 regular-season starts, Zimmermann is 23-8 with a 3.01 ERA. Washington is 31-11 in those games.
Lincecum surrendered six runs and seven hits in six innings. The two-time NL Cy Young Award winner allowed a combined three runs over 22 innings in his previous three starts.
Belt homered and Pablo Sandoval had three hits for the last-place Giants, who have lost eight of 11 to fall a season-high 15 games under .500 (52-67). Since the All-Star break, the defending World Series champions are 9-16.
It could have been different in this one -- except for Span.
"Yeah, I definitely thought that was a hit," Pence said. "I didn't even see him catch it. I had my head down, running. The crowd noise made me look up. I was in shock."
The Giants used a walk to Pence, a stolen base and a two-out single by Roger Kieschnick to manufacture a second-inning run.
In the bottom half, Desmond needed only one swing to tie it. His 17th home run was his 10th career hit in 12 at-bats against Lincecum, including two longballs.
San Francisco got two singles and a walk to load the bases with two outs in the fourth for Lincecum, an .098 lifetime hitter who bounced into a force play.
Similarly, two singles and an intentional walk loaded the bases for Washington in the bottom half, and the Nationals took full advantage of the situation. Rendon hit a two-run double and Kurt Suzuki followed with an RBI single. A wild pitch by Lincecum let in another run, and Ryan Zimmerman capped the uprising with a run-scoring single.
"I just didn't limit the damage in that inning," Lincecum lamented.
Sandoval's three hits were one more than he had in his previous seven games.
- Nationals C Wilson Ramos is day-to-day after straining his left hamstring during Tuesday's game. Ramos said Wednesday he expects to be held out "maybe one or two days."
- It was the first time in 10 games that San Francisco lost when scoring at least four runs. The Giants are now 40-12 in such games.
- Washington RHP Dan Haren seeks to win his fourth straight start in the series finale Thursday afternoon. RHP Ryan Vogelsong pitches for the Giants, his second start since returning from the 60-day DL.