The NL West-leading Giants -- who won for just the second time in seven games -- had 16 hits, including a solo home run by Brett Pill, an RBI triple by Angel Pagan and a two-run pinch-hit double by Hector Sanchez.
Ryan Vogelsong (9-5) gave up four runs on five hits in 6 1/3 innings, walking two, striking out seven and finishing the night with a 5-0 lifetime record against the Rockies.
Wilin Rosario hit a two-run homer in the seventh inning for Colorado -- his second home run in two games.
Rockies starter Jonathan Sanchez (0-3) allowed two runs on three hits in three innings for Colorado, which lost for the sixth time in seven games.
Campus cop fatally shoots Texas student during traffic stop
Police: Sword-wielding man demanded free tacos