Colorado's Roberto Ramos hit a home run in the 11th inning off of RJ Hively for the winning tally, after the D-backs forced extra innings with a three-run ninth.
Matt McBride led the Rockies with a pair of home runs and four RBIs. He's hit three homers in two days as he tries to force his way onto the Opening Day roster.
The offense started early for the Rockies, who jumped on D-backs right-hander Aaron Blair in the first inning, thanks to McBride's first two-run homer.
Blair, ranked as the D-backs No. 4 prospect by MLB.com, gave up four more runs in the third as the Rockies went up 6-0.
The D-backs struck back in the bottom of the third, batting around and scoring six runs off Christian Bergman, who is battling to win a spot in the Rockies' rotation.
The game did not stay tied for long as McBride hit another two-run homer, this one off Vidal Nuno, to put the Rockies up for good in the fourth.
Up next: The D-backs host the Dodgers at Talking Stick on Monday at 1:10 p.m. MST, live on MLB.TV. Right-hander Yoan Lopez will get the start opposite left-hander Brett Anderson.
Steve Gilbert is a reporter for MLB.com. Read his blog, Inside the D-backs, and follow him on Twitter @SteveGilbertMLB. This story was not subject to the approval of Major League Baseball or its clubs.