MIAMI (AP) -- With one swing, Gaby Sanchez gave the Florida Marlins something they hadn't had since their homestand began Tuesday: a lead.
Sanchez homered to cap a comeback, then hit a second home run an inning later to help Florida break a four-game losing streak by beating the New York Mets 8-5 Saturday night.
Sanchez's 15th homer in the sixth inning put the Marlins ahead for the first time in five games.
"We've been struggling," he said. "To finally be able to go out there and put some stuff together is great."
Sanchez hit another homer in the seventh and has three in the past two games. Logan Morrison added his 14th home run for Florida.
"It's instant offense for sure," Morrison said.
The Marlins trailed 2-0 when Emilio Bonifacio started their comeback with an infield single in the sixth. That extended his career-best hitting streak to 22 games, the longest active streak in the majors.
Bonifacio added a second infield hit, scored twice, robbed Angel Pagan of a hit with a nifty play at third base and tied a career high with his 21st stolen base.
"He has been fabulous the last month or so," manager Jack McKeon said.
Pinch hitter Lucas Duda and Jose Reyes homered on consecutive pitches against the Marlins' Leo Nunez in the ninth. It was the first homer for Duda and the fourth for Reyes.
Reyes finished 3 for 5 to increase his NL-leading average to .352.
David Wright , playing in his second game after being sidelined for two months by a back injury, had a two-run single for New York. He was retired three other times, stranding six runners, and he made his second throwing error in as many nights.
Chris Capuano (8-10) lost for the second time this week going against Clay Hensley , the victor when they faced each other Monday in New York. Hensley, who became a starter again this week after spending the past three years as a reliever, departed after five innings trailing 2-0.
Bonifacio's single started the Marlins' rally in the sixth. He scored on a triple by Omar Infante , and Sanchez's homer put Florida ahead 3-2.
"He's a good mistake hitter," Mets catcher Josh Thole said. "That's what he does, and he's going to do it for a long time. You just can't make mistakes to him."
Sanchez's second home run made it 7-3. The multihomer game was the second for the All-Star first baseman.
"I don't consider myself a home-run hitter at all," he said. "A home-run hitter at this point has, what, 26 or 27 homers? That's not me. I'm more a gap-to-gap guy. I feel I do have the power to hit home runs, but that's not what I'm up here for."
Florida went 4 for 9 with runners in scoring position after going 5 for 33 in those situations in the first four games of the homestand.
"It was nice to see the guys swing the bats with some authority," McKeon said. "Maybe we're back on track offensively."
Carlos Beltran singled home a run in the seventh against Florida's Burke Badenhop (2-1), who went 1 2-3 innings.
The game was scoreless until the fifth, when New York scored twice after the first two batters were retired. Reyes singled and stole second, and after consecutive walks loaded the bases, Wright hit a two-run single.
"You get out to a lead, but you're pretty sure 2-0 isn't going to beat most teams," Wright said.
Notes: The Mets' Jason Bay was back in the lineup after missing two games with a right hamstring injury. He was dropped to seventh in the order for the first time this year. ... Morrison's homer was only his second off a lefty this year. ... The switch-hitting Bonifacio is batting .345 against lefties. ... Marlins CF Mike Cameron made a diving catch to rob Daniel Murphy of a hit in the fourth, and RF Mike Stanton made a sliding catch of Wright's fly to end the game.