Holliday got the St. Louis hit parade rolling with a two-run double in the first inning and added a two-run blast in the seventh to hand the Cards an 8-5 advantage.
Kyle Lohse (11-2) got the victory despite surrendering five runs on nine hits over six innings. The right-hander stretched his unbeaten streak to eight starts while walking two and fanning five.
Colorado starter Jeff Francis (3-3) lasted four frames, during which he was roughed up for five runs on six hits.
Josh Rutledge smacked a three-run homer and Eric Young went 3-for-5 with two runs scored as the Rockies lost for the 12th time in 15 games.