Charlie Blackmon also ripped two hits and Carlos Gonzalez reached base four times for the Rockies. Gonzalez singled twice, walked twice and scored twice.
Colorado starter Tyler Anderson (4-1) pitched seven strong innings, allowing six hits and one run while striking out six. He didn't issue a walk.
Jorge Alfaro homered for the Phillies, and Jesmuel Valentin went 3-for-4 with his first career home run.
Phillies starter Nick Pivetta struggled mightily, giving up eight hits and six runs in five innings. He threw 91 pitches, 56 for strikes.
Pivetta had a 3.26 ERA in his first 11 starts but has since allowed 13 earned runs in his past 14 innings.
The Phillies' offense scuffled, especially at the top of the order. The top three hitters -- Cesar Hernandez, Rhys Hoskins and Scott Kingery -- went a combined 1-for-11. Kingery struck out all four times at the plate.
Leading 1-0, the Rockies struck for five runs in the fourth inning.
Story doubled home Nolan Arenado, and Gerardo Parra added a two-run single. Desmond then slammed a two-run home run to right for a commanding 6-0 advantage. Desmond's homer was his 12th of the season.
In the fifth, Alfaro homered to right to get the Phillies on the board. It was Alfaro's fifth home run of the season.
Story knocked his second run-scoring double in the seventh as Gonzalez scored for a 7-1 lead.
Hector Neris tossed a solid eighth inning in relief for Phillies, striking out the side. Nine of Neris' 10 pitches were strikes.
Jake McGee then pitched a scoreless eighth for the Rockies with one strikeout.
Valentin homered off Harrison Musgrave with two outs in the ninth.
--Field Level Media