Mets 4, Marlins 2: Scott Hairston belted a two-run shot for his career-high 20th homer and rookie Jeremy Hefner tossed 7 1/3 solid innings as visiting New York staved off a sweep by winning its regular-season finale.
Ike Davis launched his 32nd homer - and 20th since the All-Star break - and Andres Torres led off the third inning with a shot into the second deck in right field. Ruben Tejada added three hits as the Mets snapped a four-game losing skid.
Hairston gave New York a 3-0 advantage in the fourth inning after blasting a shot halfway up the left-field seats off Tom Koehler (0-1), who was making his first career start. Hairston, who brandished a wide smile and clapped incessantly as he rounded the bases, previously hit a high of 17 homers in both 2008 and 2009.
Hefner (4-7) allowed one hit before getting into trouble in the sixth inning. The rookie yielded an RBI single to Gorkys Hernandez, but settled down and matched his career high with seven strikeouts.
Kelly Shoppach's passed ball in the eighth inning allowed Miami to trim the deficit in half at 4-2, but Bobby Parnell retired the side in the ninth for his seventh save.
GAME NOTEBOOK: Knuckleballer R.A. Dickey will have surgery to repair his abdominal tear on Oct. 18. ... All three of Torres' homers this season have come from the left side. ... Former Met Jose Reyes recorded his 40th stolen base with two outs in the sixth inning.