Matt Davidson also went deep while Adam Eaton added an RBI for the Diamondbacks, who took the rubber match of a three-game series.
Randall Delgado (5-6) got the win, holding the Rockies to two runs on five hits over six innings. He walked one and struck out three.
Colorado starter Jhoulys Chacin (13-9) was scorched for six runs (four earned) on seven hits over four innings.
Charlie Culberson belted a two-run homer for the Rockies, who found out before the game that 17-year veteran first baseman Todd Helton will retire at the end of the season.
Helton is the Rockies' franchise leader in games (2,180), hits (2,500), home runs (365) and RBI (1,372).
Airport security guard dives to catch tumbling toddler [VIDEO]
Salvation Army bell ringer assaulted for saying 'Happy Holidays'