Carlos Martinez allowed one run over eight innings and Grichuk, Matt Carpenter and Stephen Piscotty all homered off Mets starter Jacob deGrom, powering the Cardinals past New York 8-1 on Wednesday night.
The Cardinals, who won for the seventh time in nine games, posted a season high-tying 19 hits. They had eight players with two or more hits, including Martinez. Piscotty and Yadier Molina each had three hits.
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.
Carpenter was back in the leadoff spot after several games hitting third. His 16th homer was his third leadoff homer of the season.
Jay Bruce led off the Mets second with a double but had to leave because of a cramp in his right calf. Pinch-runner Alejandro De Aza scored on a double by Asdrubal Cabrera.
Piscotty drove in the go-ahead run in the third with an infield single. Grichuk, who had doubled earlier, hit his 17th homer in the fourth. Piscotty connected for his 19th homer, a two-run drive, in the fifth.
Greg Garcia and Molina later had RBI singles.
Seth Lugo (0-2, 3.04) makes his second start in place of injury Steven Matz (left shoulder tightness), who could return late this month. Adam Wainwright (9-7, 4.71) allowed four home runs in 6 2/3 innings July 27 and got a no decision in his lone appearance against the Mets this season.