NEW YORK -- Dontrelle Willis looked like a giddy little kid, grinning broadly after his fourth shutout of the season.
"It's fun," Willis said. "If you're not having fun, I don't know what to tell you. It's a backyard game."
Willis (13-3) handcuffed the Mets, allowing just two runners after the first inning. He pitched his way out of a bases-loaded jam in the first and gave up only one hit over the final eight innings.
"The way he started, you don't know," Marlins manager Jack McKeon said. "They had a couple of back-to-back hits. But he settled down, made better pitches. He's been like that, pretty good most of the year. He's throwing strikes, changing speeds better than ever, keeping hitters off balance."
Willis struck out seven and walked one in his NL-leading fifth complete game, lowering his ERA to 1.89. Jon Garland of the Chicago White Sox is the only other 13-game winner in the majors.
Willis also felt a little lucky. In the ninth inning, he hit leadoff batter Mike Cameron with a pitch. Then, after Willis struck out Carlos Beltran, Mike Piazza banged a comebacker off the left-hander's leg. The ball rolled just a few feet away and Willis made the play.
"Those are the things that happen when you are going good," said Willis, who also singled and scored in the third. "Sometimes, the ball off your leg is in the dugout."
Florida scored against Victor Zambrano (4-7) in the first inning without hitting a ball out of the infield.
Leadoff batter Juan Pierre punched a single past third baseman David Wright, who was playing in to defend against a bunt. Pierre stole second on the first pitch to Luis Castillo, his 21st steal of the season. Castillo followed with an infield hit, and Pierre scored when second baseman Miguel Cairo threw wide for an error.
Singles by Cameron and Beltran helped the Mets load the bases with one out in the first, but Willis escaped by striking out Wright and Chris Woodward.
"The first inning was the key to the game," Beltran said. "We couldn't score after having the bases loaded."
Willis also was on base twice. In the third, he singled with one out and raced to third when Pierre dropped a double just inside the foul line in right field. Willis then scored on a passed ball.
Alex Gonzalez opened the Florida seventh with a single just beyond the reach of Cairo at second base. Willis walked on four pitches and Pierre advanced the runners with a sacrifice. Castillo delivered a sacrifice fly, making it 3-0.
After his first-inning trouble, Willis retired 10 straight batters before Woodward had a two-out double in the fourth. But Cairo flied out, and Willis did not allow another baserunner until he hit Cameron with a pitch in the ninth inning.
"They stayed aggressive after the first inning and I was able to get quick outs to keep my pitch count even," Willis said.
He improved to 6-1 with a 2.04 ERA in nine career starts against the Mets.
"Give Willis credit," New York manager Willie Randolph said. "We had him in the first inning but he didn't crack."
- Florida's Juan Encarnacion reached base safely in 10 straight plate appearances before he grounded out in the second inning. Encarnacion, who went 0-for-4, had seven hits, two walks and was hit by a pitch in the first two games of the series.
- Castillo stretched his Shea Stadium hitting streak to 31 games. It is the longest run in the 42-season history of the ballpark.
- The Mets finished the first half of the season at 40-41. They were 41-40 last year.