Nolan Arenado kicked off the scoring by leading off the top of the second against Giants starter Chris Heston with his 42nd home run of the season, re-taking the National League lead from Bryce Harper.
However, the Giants leveled the score against Rockies starter Kyle Kendrick in the bottom of the inning, as Jarrett Parker doubled home Brandon Crawford for the 1-1 tie.
Colorado then blew the game open in the third, starting with an infield single from Carlos Gonzalez that scored Kendrick, who had walked and advanced to third on a Jose Reyes single. An Arenado double then scored both Gonzalez and Reyes, expanding the Rockies' lead to 4-1. The double was Arenado's 88th extra-base hit, setting the record for most by a third baseman in a single season in baseball history.
The Rockies were not done in the third as Corey Dickerson followed Arenado's double with a two-run home run, his ninth of the season, giving the Rockies a 6-1 lead.
Heston coughed up two more runs in the fourth when Kendrick's single was followed by back-to-back doubles from Charlie Blackmon and Reyes, extending Colorado's lead to 8-1 and chasing Heston from the game. Heston pitched 3⅔ innings, allowing eight runs, all earned, on eight hits with a walk and three strikeouts.
Colorado tacked on a ninth run against Giants reliever Yusmeiro Petit in the fifth when Dickerson doubled and then came around to score on a groundout and a wild pitch.
Meanwhile, Kendrick put things in cruise control once he was staked to a big lead, pitching six innings and allowing the lone run on five hits with a walk and six strikeouts.
The Giants did grab a pair of what amounted to consolation runs, cutting their deficit to 9-3 in the eighth thanks to Crawford's two-run double against Rockies reliever Jason Gurka, though both runs were charged to Simon Castro, who had allowed a double to Jackson Williams and walked Kevin Fransden.
The Rockies clinched a win in the season series with the victory and will look to win the series at AT&T Park at 2:15 p.m. Mountain time Saturday as Chris Rusin takes the mound against Jake Peavy.