Justin Wilson escaped jams in the eighth and ninth innings to earn his first save since 2017, and New York held on to beat the Miami Marlins 6-5.
Miami's Jorge Alfaro went 0 for 4 and stranded seven, including the potential tying run at third when he struck out against Wilson to end the eighth inning.
Wilson hit a batter and allowed a single in the ninth but escap ed when Miguel Rojas lined into a game-ending double play , with Lewis Brinson caught too far off second and doing a face plant as he tried to get back to the base.
Amed Rosario hit a two-run double in the Mets' five-run first inning against Jose Urena (0-2). Wilson Ramos and Dominic Smith each had two hits and an RBI for the Mets, who improved to 4-1.
Brandon Nimmo earned a painful RBI when he was hit on the left knuckle by a pitch with the bases loaded in the seventh. He was awarded first base when a replay review overturned the original ruling that he had fouled the pitch off.
Nimmo left the game after the inning. X-rays were negative, but the ball left lace marks on his the back of his hand.
Starlin Castro hit his second homer for Miami. Brian Anderson doubled home a run, and Brinson and Peter O'Brien delivered RBI singles in the seventh.
Jacob deGrom (1-0, 0.00), who struck out 10 in six scoreless innings against the Nationals on opening day, will start Wednesday against RHP Trevor Richards (0-0, 1.50). DeGrom is 4-6 against the Marlins, who have beaten him more than any other team, with a 3.60 ERA.