The Rockies broke open what had been a 2-2 game and accumulated 16 hits to win for the second time in three games after dropping six out of seven.
Rosario drove in the first two Colorado runs with a single in the first and then brought home the second and third runs in the big seventh inning with a double to center. He also scored in the seventh along with Todd Helton on a triple by Blackmon.
Colorado still held a five-run lead heading into the ninth before Miguel Montero hit a three-run homer with two away to bring the Diamondbacks within two.
Rex Brothers was then called on to record the final out and save his 17th game.
Josh Outman (3-0) earned the win with 1 1/3 innings of one-hit relief. Will Harris (3-1) suffered the loss, retiring only one batter in the seventh while giving up four runs on four hits.