Chris Coghlan hit the first home run by a left-handed batter for Florida this season, and Gaby Sanchez also connected. The Marlins totaled more than four runs for the first time in 10 games and scored first for only the second time in the past 14, building a 7-0 lead.
All the homers came off a struggling Oliver Perez, matching his career high. He had given up only one previously this season.
Meanwhile, the Mets' offense continued to misfire. New York managed only four hits and two runs against Anibal Sanchez (2-2), who pitched seven innings and struck out seven.
Even before the game, New York manager Jerry Manuel was threatening to shake up a lineup filled with slumping hitters. David Wright struck out twice and has 20 strikeouts in his past 41 at-bats. Jose Reyes went 0 for 4 to drop to .215. Jeff Francoeur went 0 for 4 and is batting .132 since April 16.
Perez (0-3) is another problem. He lasted only 3 1-3 innings for the second start in a row, allowed all seven Florida runs and remained winless since Aug. 18.
Now, his spot in the rotation could be in serious jeopardy.
The Marlins took the lead in the third, when they bunched four consecutive hits and scored four runs. Gaby Sanchez and Hanley Ramirez singled before Uggla hit a three-run homer. Cody Ross doubled, and with two outs Cameron Maybin singled for his fifth RBI in 115 at-bats this year.
Florida hit three solo homers in a span of four batters in the fourth. Coghlan led off with a homer, his second extra-base hit in 119 at-bats this season. Five pitches later, Gaby Sanchez hit his fourth homer. After Ramirez lined out, Uggla hit his eighth homer of the season to end Perez's night.
The Mets, who have the fewest road wins in the majors, fell to 4-10 in away games. They have lost five of six overall.
The up-and-down Marlins have won two games in a row, matching their longest winning streak of the season.
NOTES: Uggla has 10 multihomer games. ... The Marlins struck out 13 times. ... Florida 3B Jorge Cantu, who is 3 for 20 against Perez, was held out of the starting lineup for the first time this season. ... New York had played 10 straight games decided by two runs or less. ... The Mets' loss Thursday was the first resulting from a game-ending wild pitch since Sept. 1, 1981.