Bumgarner (13-7) -- who leads the National League with a 1.87 ERA in home games -- limited the Nationals to one run on five hits and a walk and recorded six strikeouts.
Brandon Belt had three hits and drove in three runs for the Giants, who have won eight of their last 12 games.
Jordan Zimmerman (9-7) took the loss for Washington, which has lost two of its last three games following an eight-game winning streak. Zimmerman gave up a pair of runs on eight hits over 5 2/3 innings.
Bumgarner nursed a 2-1 lead into the eighth inning, when the Giants scored four runs to give him some breathing room.
Interpol investigating stolen passports on missing flight
Scarlett Johansson steps out with fiance after pregnancy reveal