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.
Pot vending machine to debut
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend