Pablo Sandoval and Brett Pill, who also had an RBI, each added two hits for the Giants, who ended a four-game losing streak with their fifth straight home win.
Mark Ellis had two hits and drove in a run for the Rockies, who lost for the 10th time in 12 games and have dropped six in a row to the Giants. Seth Smith also had two hits.
Vogelsong (13-7) won his third consecutive start following a five-game losing streak. He allowed four hits, did not walk a batter and struck out four. He retired 17 of 18 at one point.
Jhoulys Chacin (11-14) took the loss despite a decent outing.