The Mets have been treading water since dropping 12 in a row in April, but these last couple of games vs. the Cardinals they look like a sinking ship.

David Peterson coughed up a three-run homer and a two-run homer as St. Louis built a 7-0 lead en route to an 9-2 drubbing of New York (29-38) Wednesday at Citi Field. The Cardinals (37-28) have beat the Mets four out of five this season, outscoring them 23-7.

Austin Warren (1-3) was the opener and performed poorly as well. He allowed two earned runs on two hits and two walks and needed 33 pitches to escape the first inning.

It was only the fourth time in 17 appearances that Warren allowed a run, though he has given up two runs in consecutive appearances. He surrendered a go-ahead two-run homer to Freddy Fermin in the seventh inning of a 3-2 loss last Saturday in San Diego.

Nelson Velázquez hit the two-run shot off Peterson in the third to put the Cardinals up 4-0 and Jordan Walker‘s 17th homer was the three-run blast that made it 7-0 in the fourth.

Francisco Alvarez got the Mets on the board with a two-run shot in the fourth off starter Andre Pallante, (7-4) who went six innings and fanned five.

New York had an excellent chance to score in the third. They had runners on first and second with nobody out, but Carson Benge and Bo Bichette both struck out. Juan Soto walked to load the bases before Jared Young grounded out.

The Mets started play Wednesday only five games back of the final wild-card spot, but needing to jump seven teams. The Diamondbacks, Padres and Nationals entered the day in a three-way tie for the final spot, all two games over .500. New York is 22-22 since losing 12 in a row.

Stat of the Game

In seven starts, Peterson’s ERA is 7.56. In six bulk relief appearances, his ERA entering Wednesday was 1.88. That number jumped to 3.64 with this ugly showing. He gave up six earned runs over 3 2/3 innings to raise his overall ERA to 5.75.

Player of the Game

Alvarez’s fifth homer came in his second game back after surgery to repair torn meniscus in his right knee. He started at designated hitter. He’s slashing .244/.316/.412 in 39 games.

On Deck

The Mets will try to avoid the sweep. Christian Scott (2-0, 2.50 ERA) started the year with six straight no decisions before earning his first two career wins in his last two starts. He has struck out 41 and walked 18 over 36 innings.

RHP Hunter Dobbins (1-0, 2.77 ERA) starts for St. Louis. Game time is 1:10 p.m. ET and it will air on SNY.