Cabrera hit a tiebreaking single in the eighth inning, Willingham had his first career grand slam and the Florida Marlins rallied for a 7-5 victory over New York.
"We left a lot of runs out there early but it was good to come through late," Willingham said.
Willingham went 3-for-5 and tied a career high with five RBI for Florida, which has won three straight and five of seven. Willingham also drove in five runs in the Marlins' 5-2 victory over New York at Shea Stadium on May 1.
Mets left-hander Tom Glavine allowed two runs in 6 1/3 innings in his first start since becoming the 23rd member of the 300-win club. The home crowd cheered his every move, giving him a standing ovation as he warmed up before the first inning.
David Wright homered twice for NL East-leading New York, which has absorbed three straight difficult losses. It was Wright's ninth career multihomer game and first since May 19 against the New York Yankees.
"It's easy to point fingers at the bullpen, but we've got to do a better job of providing a cushion late in the game," Wright said. "We've got to do a better job of burying them early in the game."
Mets catcher Paul Lo Duca aggravated his strained right hamstring and left in the seventh inning. He will be placed on the 15-day disabled list Sunday and Mike DiFelice will be recalled from Triple-A New Orleans.
Florida loaded the bases with two outs in the eighth and Cabrera lined a 1-2 pitch from Aaron Heilman (7-4) into right-center. Cody Ross and Hanley Ramirez scored to give the Marlins a 7-5 lead.
"I know he's got good stuff so I'm glad he threw me a fastball," Cabrera said. "I tried to throw my hands inside."
Justin Miller (4-0) got the win despite allowing three hits and two runs, one earned, in the seventh. Taylor Tankersley pitched a scoreless eighth and Kevin Gregg got three outs for his 26th save and third in three nights. He struck out pinch-hitter Carlos Beltran with a runner on to end it.
The Mets have lost four of their last five, including three straight dramatic setbacks at home. They scored three runs in the ninth inning but lost to Atlanta 7-6 Thursday when left fielder Willie Harris robbed Carlos Delgado of a game-tying homer. The Marlins handed Billy Wagner his second blown save of the season in a 4-3 win Friday night.
"Coming on the heels of last night and the last game against the Braves, we've got to turn things around," Glavine said. "Anytime you are in a tight division race and you are on a homestand you've got to take care of business."
Glavine, who beat the Cubs last Sunday at Wrigley Field for career win No. 300, did his best to stop the skid. He allowed seven hits, struck out five and walked one before departing with a runner on first and the Mets leading 3-1.
Guillermo Mota replaced him and allowed a single to Ramirez before striking out Alejandro De Aza. Mota walked Cabrera intentionally and fell behind 2-0 to Willingham, who drove his next pitch out to left for his 18th homer.
"Once you got 2-0, I can look for a pitch in a certain spot," Willingham said. "He threw it in that area and I was able to hit it pretty well."
New York pushed across two runs in the bottom half to tie it and almost went in front but Jose Reyes was tagged out trying to score on Wright's foulout to right. Replays indicated he was safe, and Mets manager Willie Randolph briefly argued with plate umpire Alfonso Marquez.
"I thought he was easily safe," Randolph said. "The guy swiped at him."
Florida almost went in front early but Glavine worked out of a bases-loaded, none-out jam in the fourth. First baseman Delgado fielded tappers by Dan Uggla and Mike Jacobs and threw home both times to get forceouts. Miguel Olivo then bounced to shortstop to end the inning.
"He made some pitches and we weren't able to get to him," Marlins manager Fredi Gonzalez said. "But we got to the bullpen, I guess."
Willingham singled home a run in the sixth but Wright homered in the bottom half to make it 3-1. He has 22 homers and 74 RBI this season.
Scott Olsen pitched six innings for Florida, allowing three runs and seven hits.
Beltran came off the DL on Friday after sitting out with a strained muscle on his left side. Randolph said the switch-hitter isn't where he wants to be when he bats right-handed so he decided to rest him against the lefty Olsen. ... Mets RHP Pedro Martinez, working his way back from shoulder surgery, is probably going to make his second minor league rehab start on Tuesday in Florida. ... Florida has faced three 300-game winners in franchise history (Glavine, Greg Maddux and Roger Clemens). ... Cabrera swiped second in the eighth for his first stolen base since Sept. 4 against Arizona. ... New York will pay tribute to Glavine in a pregame ceremony Sunday.