MIAMI — Tom Koehler struggled again against the New York Mets.
Koehler (8-8) gave up seven runs in 4-plus innings in the Marlins' most-lopsided loss of the season, 12-1 on Monday night.
"Not much you can say about this game," Marlins manager Dan Jennings said. "It was ugly, the worst game we played all year."
Koehler dropped to 0-2 with a 15.55 ERA in three starts against the Mets this year and 1-5 against them in 12 career starts.
"I didn't give the team a chance to win," Koehler said. "Normally I don't care how many runs I give up as long as I give the guys an opportunity to win the game. Today that wasn't the case."
When the Mets acquired Yoenis Cespedes from the Detroit Tigers last week, they hoped he would make a difference in their lineup.
Cespedes certainly did against the Marlins, collecting three doubles — tying a Mets record for most in a game — and driving in four runs in just his third game in a New York uniform.
"Very nice, a good night for him," Mets manager Terry Collins said. "That's why we got him. We got him to be that guy in the middle of the lineup who drives in those big runs."
Fresh off sweeping Washington, the Mets won their fourth in a row and moved a game ahead of the Nationals for the NL East lead.
"It's obviously a great spot to be in at this point in time in August to say that you have yourself either in contention or on top of the division," said outfielder Curtis Granderson, who drove in two runs.
The Mets topped the 10 total runs they scored in the three-game sweep against the Nationals, whose loss Monday put New York on top of the division for the first time since June 19.
"It's always nice to be there, but we've got a lot of games to play," Collins said.
There was a brief delay with two outs in the bottom of the ninth after Tomas Telis lost control of his bat and it flew into the seats, hitting a fan in the neck. The man was sitting with an ice pack in a tunnel underneath the stands after the game. The Marlins said they would monitor him and expected he soon would be OK to go home.
Michael Conforto hit his first career homer, a three-run drive to center in the second inning for a 3-0 lead.
"It was just a blur," the Mets outfielder said. "The whole trip around the bases was just a flash in my mind. It's a moment I'll never forget."
Collins said of the shot, "That ball was crushed."
Bartolo Colon (10-10) won for the first time since June 12 after dropping his previous six decisions. He pitched eight innings, allowing one run and seven hits.
"That's a big outing for Bartolo because we need him," Collins said. "If you're going to stay in the race you've got to get outings and innings from all of your pitchers. He's struggled lately and tonight was a good outing for him."
Cespedes came into the game 1 for 7 in his first two games with the Mets. He doubled down the left-field line in his first at-bat, hit a two-run double off the right-center field wall in the fifth and added two-run double off the left-center field wall in the sixth.
"He was really close to hitting the ball out of the ballpark a couple times," Granderson said. "It's very impressive to get a chance to watch him swing the bat."
The last Mets player to hit three doubles in a game was Scott Hairston on Aug. 17, 2012.
The Mets broke it open with a four-run fourth, highlighted by Cespedes' double. Wilmer Flores' double and Kelly Johnson's groundout also scored runs.
Granderson's third hit of the game scored two runs in the seventh.
Christian Yelich had three hits including an RBI double for the Marlins.
Marlins: RHP Carter Capps (right elbow strain) was put on the 15-day disabled list after exiting Sunday's game in the eighth. He had an MRI, which showed no structural damage. Capps is 1-0 with a 1.16 ERA in 30 appearances this season.
Mets: LHP Jonathon Niese (5-9, 3.63 ERA) starts Tuesday night in the second game of the series. He is 2-4 with a 2.94 ERA over his last 10 outings.
Marlins: LHP Brad Hand (1-2, 5.12) will make his fourth start of the season and first since June 8 at Toronto when he got hit hard. He is 5-19 with a 4.69 ERA in 34 career starts.