Carpenter, who went for 4-for-4, connected on a two-run blast in the fifth to put St. Louis ahead 6-2 and added a two-run triple in the seventh to turn the game into a rout.
Yadier Molina cracked a three-run homer and scored three times for the Cardinals, who took the rubber match of their three-game set in Chicago and improved to 7-3 on the season.
Jake Westbrook (2-0) held the Cubs to one run on four hits over seven innings, walking one and fanning two for St. Louis.
Cubs starter Paul Maholm (0-2) was roughed up for six runs on six hits over four frames, raising his ERA to 13.50.
Reed Johnson went 2-for-4 with an RBI for Chicago.