Zack Wheeler #45 of the Mets pitches during the first...

Zack Wheeler #45 of the Mets pitches during the first inning against the Miami Marlins at Citi Field on Thursday, Sep. 26, 2019. Credit: Jim McIsaac

Zack Wheeler’s best pitch Thursday might have been the one he made to his bosses.

In what could be his final start with the Mets, Wheeler, a pending free agent, reminded the organization of the quality of pitcher he can be, why it is worth considering keeping him beyond this season. He mostly dominated in allowing three runs across eight innings in a 4-2 loss to the Marlins.

“He deserves to go explore what can happen for him,” manager Mickey Callaway said. “That’s pretty awesome.”

Wheeler (11-8) had allowed just two hits and no runs — and had driven in the Mets’ first run — through seven innings. “I wanted him to get that complete-game shutout,” Callaway said. But the potential storybook ending fell apart in the eighth, when back-to-back home runs by rookie Tyler Heineman and former Mets outfielder Curtis Granderson gave Miami a lead.

Immediately before Heineman’s homer, the first of his career, plate umpire Eric Cooper called a pitch over the plate — would-be strike three — a ball.

“I felt like I had the guy struck out there, but I guess it’s not up to me,” Wheeler said. “I feel like I pitched good. Just didn’t get the result that I wanted.”

After recovering to get his final two batters, Wheeler made an unceremonious exit at a mostly empty and quiet Citi Field, walking off the mound to handshakes and hugs from teammates. A few fans behind the home dugout stood and clapped. He struck out 10, walked none and gave up five hits.

Wheeler, 29, finishes the year with a 3.96 ERA and 1.26 WHIP. He set career highs in starts (31), innings (195 1/3) and strikeouts (195). After totaling 17 starts in 2015-17, he has made 60 the past two seasons.

In five seasons in the majors, Wheeler — acquired as a top prospect in 2011 by former general manager Sandy Alderson from the Giants for two-plus months of Carlos Beltran — has a 3.77 ERA and 1.29 WHIP.

If this is the end for him with the Mets, how does he hope to be remembered?

“I came to work every day and gave it everything I had,” Wheeler said. “I like New York. I love the fans here. It’s a great place to play.

“I made great strides pitching-wise (after Tommy John surgery in 2015). I’m proud of that. I felt like I became more of a pitcher rather than just a thrower.”

Looming are huge questions for the Mets and for Wheeler. Will the team make him a qualifying offer (a one-year contract at about $18 million)? Would Wheeler accept it? How interested are the parties in a longer-term contract?

Eventually, the offseason will bring answers. For now, Wheeler said he hasn’t thought about it much.

“Like it’s been all year, concentrate on this lone start and try to win a ballgame,”  he said. “Whatever happens next, it is what it is.”

For most of the night, the Mets’ lineup looked as if it was playing its first game since being eliminated from playoff contention. Marlins rookie righthander Jordan Yamamoto (4.46 ERA) tossed six shutout innings with a career-high 10 strikeouts. He allowed one hit and three walks.

Edwin Diaz allowed one run, on a homer by Austin Dean, in two-thirds of an inning. It was the 15th long ball yielded by Diaz this year, matching his total from the previous two seasons combined.

And so Wheeler took the loss in his season swan song.

“I love New York, I love the Mets,” Wheeler said. “They’ve treated me fairly and very good, so I just wanted to give everything I could back to the Mets. And that’s working hard and trying to get better every time out and putting in the work.”

SUBSCRIBE

Unlimited Digital AccessOnly 25¢for 5 months

ACT NOWSALE ENDS SOON | CANCEL ANYTIME ONLINE