Carpenter set the tone, hitting a leadoff home run in the first inning. The Cardinals went on to win for the seventh time in nine games.
Piscotty and Yadier Molina each had three of the Cardinals' season high-tying 19 hits.
Carlos Martinez (12-7) gave up one run and four hits over eight innings. He also got two hits himself.
Roughed up for the second straight start, deGrom (7-7) allowed five runs on 12 hits in 4 2/3 innings. He was tagged for a career-worst eight runs and 13 hits in his previous outing against San Francisco.