After starting out the year 0 for 9, Blackmon has hit in 15 straight games. He's 34 for 68 through 17 games in the coronavirus-shortened 60-game season.
"It's special to watch. He's in a great place right now mentally and physically," Trevor Story said of Blackmon. "He hits the ball so hard. He's just driving it. It's cool to see what he can do in the three spot."
Blackmon doubled off Kevin Ginkel (0-1) during the Rockies' big inning that made it 8-2.
The Diamondbacks rallied for five runs in the ninth and had runners on first and third with two outs. Daniel Bard fanned pinch hitter Stephen Vogt to end it and earn his first save since 2011 while with the Boston Red Sox. It was his sixth career save overall.
Nolan Arenado hit a two-run homer and Raimel Tapia added three hits, including a two-run double in the eighth for Colorado.
Carlos Estevez (1-0) worked a scoreless eighth for the victory. Christian Walker and Carson Kelly each homered for the Diamondbacks.
Trailing 2-1, Arizona tied it when Kelly led off the seventh with his first home run of the season.
Colorado had gone in front 2-1 when Arenado followed Blackmon's second single of the night with a fourth-inning drive off Zac Gallen that soared into the stand of evergreens behind the center field fence. Walker, who hit 29 home runs as a rookie for the Diamondbacks last season, connected for his first of the season leading off the fourth inning to put Arizona up 1-0.
Gallen went seven innings and allowed two runs on seven hits, with seven strikeout and no walks. He set an NL record by allowing three or fewer earned runs in each of his first 19 starts. He eclipsed Steve Rogers of Montreal who didn't allow more than three earned runs in each of his first 18 career starts. Kyle Freeland went seven innings for Colorado and allowed two runs on seven hits. He struck out two and walked one.