MIAMI -- What began as a flirtation with history ended -- as so many Mets-Marlins games do -- in an extra-inning war of attrition. Ultimately, the Mets recovered from Zack Wheeler's shattered no-hit bid to win a 4-2 game over the Marlins, thanks to John Buck's tiebreaking two-run single in the 10th.

"Our guys are playing hard," manager Terry Collins said. "They've been re-instilled. They know that if they get hot, they can move up. They can actually make something of the last two months. And that's what you come to the ballpark to play for."

For six innings, Wheeler was brilliant, flirting with the second no-hitter in Mets history in what Collins called "about as dominant a performance ... as I've seen all year from anybody." The greatest threat to Wheeler's flawlessness came in the opening moments of the game, when Christian Yelich laced a line drive down the left-field line. But Yelich's ball landed just foul (and clearly foul, unlike Carlos Beltran's phantom hit in Johan Santana's no-no last year), allowing Wheeler to set him down later in the at-bat.

That sparked a run of 11 in a row for Wheeler, who leaned heavily on a four-seam fastball that ran into the upper 90s -- an offering so devastating that Buck used an expletive to describe it. Wheeler did not allow a baserunner until walking Giancarlo Stanton on four pitches with two outs in the fourth, escaping that inning when Juan Lagares corralled Logan Morrison's fly ball to the warning track in center field.

"He really put it to us there the first seven innings or so," Marlins third baseman Ed Lucas said. "He had us completely stonewalled."

Wheeler worked around another walk in the fifth, but could not repeat the trick in the seventh. After Morrison drew a free pass with one out, Lucas laced Miami's first hit into right field. Donovan Solano and Jake Marisnick quickly followed with consecutive RBI singles, turning a potential no-hitter into a 2-2 tie.

"I rushed a little bit after that, probably letting down my guard just a little bit," Wheeler said. "But it was a learning experience. I'll just take everything I learned from this game and move forward."

The Mets' support of Wheeler came early, when Lagares doubled home David Wright and Buck with two outs in the fourth. But they could generate no more offense against Nathan Eovaldi, who allowed only four hits in six innings himself.

Wheeler's last chance to avoid a no-decision surfaced in the top of the eighth, when Marlon Byrd led off with a triple. But Ike Davis struck out, Buck grounded out and, after a Lagares walk, Omar Quintanilla also whiffed to strand Byrd on third base. In a testament to the emotions of the game, Marlins reliever Chad Qualls lost his balance while pumping his right fist on his way off the mound, toppling to the turf.

The Mets did not rally again until the 10th, when Wright singled and Byrd followed with a bloop hit off Stanton's glove in right. After Davis walked to load the bases against Marlins closer Steve Cishek, Buck drove the first pitch he saw back up the middle for a two-run single.

"Against Qualls, I felt like I had a good approach," Buck said. "I felt good about the at-bat, and when I came up in a similar situation with Cishek ... I just said I'd stick with that approach. He left it over the plate and I got the results I wanted this time."

Buck called it a building block for future success, which was similar to how Wheeler discussed his own night. Though the potential existed for something more, considering how superlative the rookie's arsenal really was, Wheeler did not appear frustrated after losing his chance at history. In its immediate aftermath, he and Buck were already analyzing mechanical details, filing them away for later reference.

The flashiness of Wheeler's first six innings had disappeared, replaced by that omnipresent desire to improve.

"I think you just build off this start," Wheeler said. "I felt good so I'm just going to go after that, take it into my bullpen in a couple days and just go from there."