WASHINGTON (AP) -- Pinch-hitter Hector Sanchez stepped to the plate with one thought in mind against Washington Nationals closer Rafael Soriano: Look for a fastball.
After being on the right side of a borderline call with the game on the line in the top of the ninth, Sanchez was ready for the next one. With a full count, he drove a three-run homer just inside the right field foul pole in the second deck, helping the San Francisco Giants beat the Nationals 4-3 on Thursday.
''In my mind I just think 'Stay fair.''' Sanchez said.
Sergio Romo worked a scoreless bottom half for his 29th save. Javier Lopez (2-2) pitched 1 2-3 scoreless innings of relief to earn the win.
The loss snapped Washington's five-game winning streak and spoiled Dan Haren's six-inning, one-run effort.
''That one hurt,'' Nationals manager Davey Johnson said.
The Sanchez homer followed a 2-2 fastball that Soriano (2-3) thought was a strike, but home plate umpire Jim Joyce ruled high. Johnson acknowledged that Joyce had called the high pitch consistently a ball all game. His closer disagreed.
''That pitch, to me, I think it (was) a strike,'' Soriano said of the 2-2 pitch. ''I think that's when the game changed.''
Johnson, however, pointed to Soriano's walk of left fielder Roger Kieschnick with two outs and Buster Posey at first base after a leadoff single.
''A .250 hitter, you've got to get him out,'' Johnson said. ''You can't come close. You've got to make him put it in play.''
That set the stage for Sanchez, a switch-hitter who was batting left-handed. He turned on the next fastball and tucked it inside the foul pole.
''I know my job, like everybody,'' Sanchez said. ''I have to be ready for that situation. I have to come into the cage during the game and get ready.''
Ian Desmond doubled home two runs in the third inning and Jayson Werth added two hits for the Nationals.
Brandon Belt homered for the Giants and extended his hitting streak to 10 games. Ryan Vogelsong allowed three runs in the third inning, all with two outs.
San Francisco, which had a late rally fall short in a 6-5 loss on Wednesday, snapped a three-game losing streak
''The boys needed this,'' Giants manager Bruce Bochy said. ''To come up short (Wednesday) after fighting so hard there in the ninth? Save a little sanity here.''
Vogelsong labored during a 39-pitch third inning. Desmond's double into the gap in left-center drove home both Denard Span and Werth.
Adam LaRoche then followed with an RBI single to score Desmond and put the Nationals up 3-0.
In the seventh inning, LaRoche's line drive struck Giants reliever Sandy Rosario in the chest. Rosario immediately left the game and was replaced by Lopez. He was diagnosed with a bruised sternum.
''One of the hardest hits I've seen a pitcher take,'' Bochy said. ''Scary moment. He's going to be sore for a couple of days.''
San Francisco's struggling offense did little against Haren, who during one stretch allowed just two runners to reach base out of 14 batters. One of those runners came via error and was erased by a double play.
Belt snapped that stretch with a solo home run in the sixth inning to cut the deficit to 3-1. But Haren escaped the inning without further damage. He threw 98 pitches and gave up just one run on three hits with two walks and three strikeouts.
''A lot more positives than negatives,'' Desmond said of Washington's recent surge. ''But right now, I think we're just kind of resting on the negative. Shake that off and we'll be ready to go (Friday in Atlanta).''
NOTES: Bochy said CF Angel Pagan (hamstring), on the DL since May 28, would begin a rehab assignment Friday with San Francisco's rookie affiliate in Arizona. He is expected to play three innings. ... Washington agreed to terms Thursday with international free agent 3B Anderson Franco, 16, of the Dominican Republic. ... The Nationals recalled RHP Drew Storen from Triple-A Syracuse and optioned RHP Ryan Mattheus to Syracuse. ... Nationals C Wilson Ramos (strained hamstring) missed his second straight game. Washington manager Davey Johnson said Ramos will return to the lineup Friday in Atlanta. ... The Nats begin a three-game series with the NL East-leading Braves. RHP Taylor Jordan (1-3, 4.14) opposes LHP Alex Wood (2-2, 2.78). ... The Giants continue their six-game road trip on Friday in Miami. RHP Chad Gaudin (5-2, 2.42) faces Nathan Evoldi (2-2, 2.82).