Jerry Sands’s two-out RBI double forced Bumgarner (1-6) out of the game in the ninth, and Giants closer Brian Wilson walked two to load the bases. Jamey Carroll nearly came through with sinking line drive to right field, but a shallow-playing Nate Schierholtz made a diving catch to seal the win.
Bumgarner, who had been backed by 15 total runs over his first eight starts, gave up one run on six hits and two walks over 8 2/3 innings. The lefty also doubled and scored a run in the third.
Freddy Sanchez drove in two for the Giants, who had lost three of four before taking both games in the short series.
Chad Billingsley (2-4) suffered the loss — LA’s fifth in six games — after surrendering three runs on six hits and four walks in six frames.
Sanchez’s run-scoring single in the sixth gave the Giants a 3-0 lead, a margin that appeared plenty the way Bumgarner was throwing.
The Giants starter allowed just one baserunner to reach second over the first eight innings and retired 10 in a row before Rod Barajas blooped a single to left with two outs in the ninth.
On his 121st pitch, Bumgarner served up a pitch that Sands sent to deep center for an RBI double. Wilson was called in from the bullpen and picked up his 13th save, thanks in large part to the terrific grab by Schierholtz.
Mike Fontenot doubled in Buster Posey in the second inning, and Bumgarner chipped in a leadoff double in the third, moved up 90 feet on Andres Torres’ single and raced home on Sanchez’s sacrifice fly for a 2-0 lead.
Dodgers outfielder Andre Ethier went 0-for-4 and is 0-for-21 over his last six games…Billingsley came into the came 7-3 with a 2.93 ERA over 22 games — 17 starts — against the Giants…Juan Uribe had two of LA’s six hits…Miguel Tejada went 2-for-4 with a run scored for San Francisco.