Ezequiel Tovar and Austin Wynns had two hits each, and Tyler Kinley earned his third save for Colorado (53-92).
Nico Hoerner tied a career high with four hits, and Ian Happ and Miguel Amaya contributed two each for the Cubs (78-69), who have dropped two straight but still hold the second NL wild card.
Chicago twice had the bases loaded with one out — in the second and eighth innings — but failed to score.
The Cubs took the lead early on Rockies starter Ty Blach. Christopher Morel doubled to right-center on the first pitch of the game and went to third on Hoerner's single. Cody Bellinger followed with a sacrifice fly to deep left to make it 1-0.
The Cubs expanded their lead in the third inning. Hoerner led off with a single and Bellinger reached on a bunt single down the first base line. Dansby Swanson doubled to right to drive in Hoerner and Bellinger scored on Seiya Suzuki's sacrifice fly.
Blach (3-1) allowed three runs on nine hits and struck out four in five innings.
Colorado finally got to starter James Taillon in the fourth inning. Bryant drew a one-out walk and after Montero flew out to center, Tovar's RBI single brought home Bryant to make it 3-1.
The Rockies rallied to take the lead in the fifth. Wynns singled with one out and Jones hit an opposite-field homer to left-center, his 16th of the season. With two outs, Bryant reached on a two-base error by Happ in left field and Montero hit the next pitch just over the wall in left to make it 5-3.
Taillon (7-10) allowed five runs (three earned) and struck out five in five innings.
Bryant led off the seventh with his 10th home run and second in as many games, and one out later McMahon went deep.
—Field Level Media