Niese struggled from the outset and fell apart in the sixth. Overall, Niese allowed a career-high eight earned runs on 11 hits in five innings, walking one and striking out one.
The Cardinals struck quickly off Niese in the first, taking a 1-0 lead on a run-scoring double by Randal Grichuk. St. Louis increased the lead to 2-0 in the second when Michael Wacha's safety squeeze drove in Kolten Wong.
After Juan Lagares failed to reel in a deep fly ball from Randal Grichuk in the third, a bloop single from Jhonny Peralta brought him home as the Cardinals went up, 3-0.
Daniel Murphy's two-run homer in the fourth cut the lead to 4-2, but St. Louis scored six runs in the sixth to put the game out of reach. The Cardinals plated four runs against Niese in the frame and two more against Erik Goeddel, who relieved Niese after he allowed the first four batters of the inning to reach base.
Darrell Ceciliani made his Mets debut, pinch-hitting in the seventh and getting his first big league hit with an infield single.
The 10 runs the Mets allowed were the most they've given up in a game this season.
The Mets play the third game of their four-game series against the Cardinals on Wednesday at Citi Field at 7:10 p.m. Bartolo Colon (6-2, 3.86 ERA) starts for the Mets opposite Carlos Martinez (3-2, 4.73 ERA).