The homer, his 11th this season, broke a 3-3 tie with one out in the bottom of the eighth inning.
He also hit an RBI double.
Yorvit Torrealba and Garrett Atkins had one RBI each for the Rockies, who finished with only six hits but captured their second victory in the three-game series.
The winner was reliever Juan Rincon (2-1).
Closer Huston Street recorded his 24th save.
Starter Ubaldo Jimenez yielded three runs and five hits in six innings with two walks and five strikeouts.
Miguel Montero hit a three-run third-inning homer for the Diamondbacks, who managed just five hits and have lost three of four.
The losing pitcher was Scott Schoeneweis (1-2).
Starter Jon Garland surrendered three runs and five hits in seven innings with two walks and five strikeouts.
Copyright 2009 by United Press International.