Friedrich (4-1) won for the fourth time in six major-league starts, limiting the Diamondbacks to four hits while walking two and striking out four over seven innings.
Matt Belisle tossed a scoreless eighth and Adam Ottavino completed the shutout with a 1-2-3 ninth for the Rockies, who took the opener of a three-game set.
Wilin Rosario went 2-for-4 with a solo homer and two RBI for Colorado.
Joe Saunders (3-4) absorbed the loss for Arizona, yielding 11 hits over 6 2/3 innings. He was touched for four runs (three earned) while walking one and fanning three.