Bumgarner (1-1) allowed four hits and walked two over 7 1/3 innings. He also struck out two.
All the other Colorado hits came off Giants closer Brian Wilson, who gave up a double, two singles and a bases-loaded walk before ending the game by getting Marco Scutaro to fly out to right. Wilson was given his first save.
Bumgarner was charged with the first Colorado run, giving up a triple to Tyler Colvin and a single to Dexter Fowler in the sixth.
The Giants were ahead 4-0 before that with Colorado starter Jamie Moyer (0-2) giving up eight hits and two earned runs in 5 2/3 innings.
Brett Pill contributed the third of three consecutive singles for a San Francisco run in the third and Melky Cabrera had a two-out RBI single in the fourth.
Ryan Theriot reached on an error and scored with two outs in the sixth when Angel Pagan singled. Cabrera followed with a run-scoring double.