Vincent Carchietta-USA TODAY Sports

The New York Mets (23-13) faced the St. Louis Cardinals (19-15) in the first game of a doubleheader Tuesday afternoon at Citi Field after the opener to this three-game series was postponed on Monday due to bad weather.

After dropping their first series of the year to the Seattle Mariners, the Mets were coming into this one looking to bounce back after a tough loss on Sunday with Trevor Williams on the mound. Williams was pretty much great for the Mets, stepping up in a spot start and pitching a gem in four scoreless innings in a 3-1 win.

After enduring a rough start in his last start, giving up four earned runs on seven hits against the Diamondbacks on April 23, Williams was locked in from the start at Citi Field, and he breezed through a 1-2-3 first inning before starting the second with back-to-back strikeouts while throwing an incredible 16 strikes in his first 19 pitches. He would go on to punch out all three batters in the second.

While Williams was dealing on the mound, the Mets bats held up their end of the bargain as Dominic Smith hit a leadoff single in the bottom of the second, Eduardo Escobar walked, Luis Guillorme singled and then a Travis Jankowski allowed Smith to score to give the Mets the lead.

One of the big stories of the game were flubs by both teams in the field, but the outcome of this one was one team taking advantage and the other team failing to do just that. Luckily for the Mets, they were able to punish the Cardinals for their errors. While Guillorme overran a ball to put runners on the corners for the Cardinals, Williams kept wheeling and dealing to strike out Nolan Arenado to end the inning unscathed. The next inning, St. Louis shortstop Brendan Donovan booted the ball on a Francisco Lindor grounder, and the Mets took full advantage with doubles by Jeff McNeil and Smith allowing Lindor and then McNeil to score.

Armed with a 3-0 lead in the fourth, Williams was made to work as he threw more pitches in that inning than he did in the previous three, but he was able to punch out Yadier Molina for the second time for his fifth strikeout of the day, before striking out Tyler O’Neill to end an impressive start with six strikeouts in four scoreless innings.

The bottom half of the game morphed into a war of attrition as the bats on both sides hustled but didn’t produce much, with Cardinals starter Miles Mikolas recovering from his earlier struggles to go deep, throwing over 100 pitches.

In the fifth, Jake Reed came in for Williams. It was a rough start in his first taste of the majors this year, walking his first two batters before walking the tightrope to get out of the inning without incurring any damage. He breezed through an eight-pitch sixth to land at two scoreless innings.

Ultimately, timely hitting in the clutch, great starting pitching and superb work from the bullpen got the job done for the Mets in this game. Seth Lugo needed just 12 pitches to put together a 1-2-3 inning in the seventh and, while Drew Smith did give up a solo home run to Paul Goldschmidt, Edwin Diaz came into the game in the ninth and did what he does best, striking out three batters in the ninth (amidst a single and walk) to secure a ninth save of the year and to give the Mets their 12th straight win following a loss.

Player of the Game: Trevor Williams

In what was the first game of a doubleheader, the Mets just needed Williams to not implode and give the Cardinals an early cushion. Well, they got a lot better than that as the righty delivered a gem, throwing four scoreless innings while walking none and striking out six. Williams’ outing was a big boost and it was another example of the rotation stepping up and doing whatever it takes to get the job done this year.

On Deck

The New York Mets (24-13) will host the Cardinals (19-16) in the second game of today’s doubleheader at 6:50 p.m. Former Met Steven Matz (6.40 ERA) will go for St. Louis, while Taijuan Walker (3.00 ERA) will get the start for the Mets. The game will be on SNY.