Charlie Blackmon and Carlos Gonzalez each went deep, Gray pitched into the eighth inning and the Rockies beat the St. Louis Cardinals 6-3 on Tuesday night.
Jon Gray (9-7) has won his last four decisions, and the Rockies have won the last five games he's started. That includes three straight victories since a brief demotion to Triple-A to clear the young right-hander's head.
Gray struck out five over 7 1/3 innings, helping Colorado finish the month 17-6. Gray allowed three runs, two earned, with four hits and two walks.
Wade Davis got his 31st save in 35 opportunities with a 1-2-3 ninth inning. He saved a career-high 32 last year with the Cubs.
Colorado went ahead 2-1 on Blackmon's homer in the fifth. Ryan McMahon led off with a 12-pitch walk, and with two outs, Blackmon hit a 1-2 pitch into the right field bleachers. Blackmon's homer extended his hitting streak to 13 games.
The Rockies added two runs in the sixth to chase starter Jack Flaherty (4-6). Gonzalez walked with one out and Trevor Story doubled. Story has team-leading 69 RBIs.
Chasen Shreve, making his first appearance for St. Louis since coming over in a July 28 trade with the Yankees, gave up a double to Gerardo Parra.
Colorado's final two runs came when Gonzalez lined a homer just inside the right field foul pole off John Brebbia. Ian Desmond, who drew a one-out walk, scored ahead of Gonzalez.
Matt Carpenter led off with a home run, sending an 0-2 pitch into the right field seats. It was Carpenter's seventh leadoff home run this season. It was the 22nd of his career, passing Hall of Famer Lou Brock on St. Louis' career list.
Carpenter, who hit an MLB-leading 11 homers in July, leads the Cardinals with 26.
The Cardinals scored two runs in the eighth, cutting the lead to 6-3. St. Louis loaded the bases with one out against Gray. Seung Hwan Oh gave up a sacrifice fly to Carpenter, and a passed ball and throwing error by catcher Tom Murphy allowed Dexter Fowler to score.
Flaherty (4-6) pitched 5 1/3 innings. It marked the first time in five starts he pitched into the sixth inning. He allowed four runs, five hits and two walks. He struck out seven.
Kyle Freeland (9-6, 3.13) will be making his first start in St. Louis and second against the Cardinals. The Cards will send RHP Luke Weaver (6-9, 4.70) to the mound who will make his second career appearance against Colorado.