Smith's 14th homer this season was a two-run shot in the bottom of the first and his 15th was a three-run blast in Colorado's six-run seventh.
Yorvit Torrealba had two hits and three RBI. One of two hits by Carlos Gonzalez was a solo homer, Ian Stewart hit a two-run homer and scored three times, while Clint Barmes hit a two-run single for the Rockies, who have won five of six.
The winner was starter Jorge De La Rosa (14-9), who went five innings, giving up one run on two hits with seven walks and four strikeouts.
Arizona's Chris Young hit three solo homers. Mark Reynolds hit a solo shot and Ryan Roberts added an RBI for the Diamondbacks, who have lost nine of their last 15 games against Colorado.
The losing pitcher was starter Yusmeiro Petit (3-9), who lasted just three innings, allowing four runs on six hits with four walks and six strikeouts.
Copyright 2009 by United Press International.