Pujols scored three times and Holliday delivered a pair of run-scoring singles for the Cards, who shook off a steady rain to finish up their first-ever four-game sweep of the Marlins in Florida.
The four-gamer also was the first such road sweep for St. Louis since 2004.
Ryan Theriot drove in the go-ahead run with a seventh-inning RBI single off Burke Badenhop after Mike Dunn (5-6) had allowed a pair of runners to reach with one out.
Mitchell Boggs (2-3) earned the victory despite allowing Florida to tie the game in the sixth on Bryan Petersen's pinch-hit two-run homer.
Cards starter Jamie Garcia went five innings, allowing two runs on six hits.
Kate Middleton recycles dress at movie premiere
Beyonce flaunts bikini body, Blue Ivy in vacation pics