Rockies starter Chad Bettis pitched six shutout innings in the victory, allowing just three hits, all singles, and three walks while striking out four and throwing 98 pitches. Bettis' ERA dropped to 2.95 in three starts in 2016.
Bettis also got some help from his defense as Gerardo Parra and Carlos Gonzalez each made diving catches to rob Cubs of hits and Ben Paulsen and Tony Wolters combined on a fine play to snuff out a squeeze bunt attempt in the fifth and keep the Cubs scoreless.
Offensively, the Rockies played small ball, using 10 singles, three walks and taking advantage of four Cubs errors to put six runs on the board. Colorado also stole three bases in the win.
The Rockies got on the board first in the top of the second when Paulsen's RBI single brought home Nolan Arenado, who had reached on an error by Cubs pitcher Kyle Hendricks, the first of four errors committed by Chicago on the day.
It was still 1-0 in the Rockies favor when Gonzalez, Arenado and Parra started the top of the sixth with three straight singles, doubling the Rockies lead. Arenado, whose single was of the bunt variety, then scored on a double play ball from Ryan Raburn, giving Colorado a 3-0 lead.
Colorado took advantage of another Cubs error in the seventh when Wolters came around to score as Kris Bryant threw Brandon Barnes' ground ball up the right-field line, giving the Rockies a 4-0 lead.
The Cubs got their only run in the bottom of the seventh against Rockies reliever Chad Qualls on a Tommy La Stella ground out that brought home Jorge Soler, who had singled to lead off the inning, cutting the Rockies' lead to 4-1.
The Rockies responded quickly, getting that run back and one more in the eighth as Parra singled, advanced to second on an Addison Russell error, stole third and scored on a Wolters fielder's choice. DJ LeMahieu's ground out later in the inning brought home Mark Reynolds, who had been walked intentionally, to bring the score to 6-1.
Relievers Boone Logan and Justin Miller each pitched a perfect inning of relief to close out the win and move the Rockies to 6-4 on the 2016 season.
Colorado will have a tall task tomorrow against reigning NL Cy Young winner Jake Arrieta as they try to take the series with Christian Bergman getting a spot start in place of the injured Jon Gray. First pitch will be at 12:20 Mountain time.