Franklin Morales (2-1) worked five innings for the win.
Philadelphia's Adam Eaton (9-9) gave up four runs on six hits with two walks and six strikeouts over five-plus innings. The right-hander yielded all of his runs on homers that included solo shots by Troy Tulowitzki and Todd Helton, and a two-run shot by Holliday. Holliday got his second homer, a solo shot, in the ninth inning.
Colorado has now alternated wins and losses in its last six games.