Holliday hit a two-run homer in the first inning and his three-run blast in the seventh put the Cardinals ahead 6-5 in a game delayed 87 minutes by rain.
Jake Westbrook (10-8) got the win despite allowing five runs on nine hits in six innings.
Yadier Molina went 3-for-5 with an RBI for the Cardinals.
Tyler Colvin went 3-for-4 with an RBI and two runs scored for the Rockies, who lost their seventh in a row at Coors Field.
Matt Belisle (3-3) was saddled with a blown save and took the loss in relief for the Rockies, after serving up the home run to Holliday in the seventh.
Wisconsin business offering 'therapeutic cuddling' forced to close
Britney Spears debuts 'Perfume' video