MIAMI -- The scheduled matchup of Pat Misch against Josh Johnson looked ominous for the New York Mets.
Then Johnson got sick. By the end of the afternoon, the Florida Marlins' bats were ailing, too.
Misch pitched an eight-hitter for the first complete game of his career Sunday, and the Mets spoiled the Marlins' home finale by winning 4-0.
"Things are so strange this year," said Mets manager Jerry Manuel, whose team is staggering to the end of an injury-plagued season.
Misch (2-4) won for only the second time in 13 career decisions. Jeff Francoeur hit his 14th home run and preserved Misch's shutout in the seventh by robbing Chris Coghlan of a homer in right field.
"He's going to buy me dinner and beers," Francoeur said.
Chris Volstad (9-13) gave up three runs in four innings as a late replacement for Marlins ace Johnson, who was sent home with the flu.
Misch was on the verge of being dropped from the rotation after his last outing, when he allowed eight runs in 1 1/3 innings against Atlanta. The left-hander had never gone more than seven innings, but he retired the final 13 Marlins, throwing 110 pitches on an 87-degree afternoon.
"This was obviously rewarding," he said. "I'm a little tired. The heat drains you out there -- I'm glad I didn't get any base hits. You just have to conserve your energy somehow."
Misch walked three and struck out two. The complete game was only the second this year for the Mets, who took two of three in the series to damage the Marlins' dwindling playoff chances.
New York was eliminated from playoff contention by Florida on the final day of the regular season the past two years.
"It was great to get a win," Misch said. "These guys have been beating us the last few years and knocking us out."
The Marlins were eliminated from the NL East race Sunday when division leader Philadelphia beat Milwaukee 6-5. Florida fell five games behind wild-card leader Colorado with six to play.
Misch took the mound with a career ERA of 10.13 in three games against the Marlins. They had 11 baserunners in the first five innings but went 0 for 7 with runners in scoring position and hit into three double plays.
"Misch made some good pitches when he needed to, and got out of some jams," said Dan Uggla, who stranded six runners. "Hats off to him."
The Marlins' best threat came in the first, when they had runners at second and third with none out before Misch retired Hanley Ramirez, Jorge Cantu and Uggla.
In the seventh, Francoeur retreated to the 385-foot sign and leaped to catch Coghlan's fly as it was about to clear the wall.
"That sums up the day," Coghlan said.
"I had a bead on it," Francoeur said. "You just jump and hope you timed it right, and I did."
Francoeur's homer in the third inning was the 29th this year off Volstad, third-most in the NL. Volstad learned he was starting less than 2½ hours before the game.
"I had time to prepare," Volstad said. "It's like being in the bullpen and getting called on."
Anderson Hernandez hit his third homer off Cristhian Martinez.
The crowd of 31,167 was the Marlins' fourth in a row over 30,000. That increased their average to 18,771, but they'll finish last in the NL in attendance for the fifth year in a row.
Slumping Mets 3B David Wright did not play one day after he loafed on the bases, perhaps costing the team a run. He apologized to teammates Saturday. ... Marlins OF Cody Ross sat out and might miss the rest of the season with a sore left wrist. X-rays were negative, but Ross said there was a lot of swelling the day after he was hit by a pitch. ... The Marlins won the season series 11-7 and finished 43-38 at home.