A fielder's choice grounder by Chacin finished off a four-run sixth inning that gave the Rockies a 5-1 lead and they survived a three-run San Francisco eighth for the victory.
Chacin (13-7) retired the first six men he faced before back-to-back errors put San Francisco runners on first and second in the third.
He escaped that jam, but another error in the fourth led to an unearned run.
The only San Francisco hit came with two out in the seventh when Brandon Crawford singled to center.
By then the Rockies had moved in front with their four runs in the sixth, two of which were driven in by Yorvit Torrealba with a ground-rule double.
Three Colorado pitchers struggled through the eighth while the Giants were scoring three times. Rex Brothers was perfect in the ninth for his 14th save.
San Francisco starter Madison Bumgarner (11-9) took the loss, surrendering three runs on five hits in 5 1/3.