Cabrera hit a go-ahead homer on his bobblehead day, part of a four-run rally in the seventh inning that carried New York past the Philadelphia Phillies 7-6 on Saturday.
The resurgent Mets overcame three errors and a short start by Zack Wheeler in his return from the disabled list to win their fourth straight. They've won seven of eight overall after getting swept in four games at Dodger Stadium.
New York manager Terry Collins called this one a "momentum-building win."
"These are the games when you've got to say to yourself, look, we're not out of it," he said. "We've been preaching that we have a good team and obviously we can't use injuries as an excuse -- we try not to. And now we're starting to get some pieces back and I think guys say, hey, let's put a couple hits on the board and we've got the ability to hit one over the fence."
The major league-worst Phillies (26-53) dropped to 20-45 against the Mets since 2014. Jeremy Hellickson left with a 6-4 lead in the seventh after giving up seven hits, including solo homers by Lucas Duda and T.J. Rivera.
After entering with one out and nobody on, reliever Pat Neshek (2-2) allowed Travis d'Arnaud's double and an RBI single by pinch-hitter Wilmer Flores. With two outs, Cabrera drove an 85 mph slider to right-center to give New York a 7-6 lead.
In a fitting coincidence, the bobblehead giveaway at Citi Field depicted Cabrera with his arms raised in excitement after his game-winning homer against the Phillies last September.
"It's always good when you hit a home run to help the team to win," he said.
It's been an up-and-down stretch for Cabrera. Since coming off the disabled list in San Francisco after being sidelined with a strained left thumb, he's had four multi-hit games. He went public with a trade request (which he later backed off) when he learned he was being shifted from shortstop to second base upon his return, a topic he didn't want to discuss Saturday.
"I just come every day to get better," he said. "I do my best to help the team to win."
Neshek had not given up a run since May 14, making 19 straight scoreless appearances. He entered the day having allowed just two runs in 31 2/3 innings.
"What a shame," Phillies manager Pete Mackanin said. "Neshek has been just about unhittable the whole season and he mis-located tonight and I know he feels terrible, but I felt pretty good when he came in."
After a 57-minute rain delay in the top of the eighth, Addison Reed came on and got four outs for his 14th save in 16 tries. Reed worked around a leadoff double by Aaron Altherr in the ninth that nearly cleared the right-field wall.
With a runner on third, Reed retired Maikel Franco on a shallow fly to end it.
"Those are the kind of games that you have to win," Mackanin said. "Even in the ninth with the leadoff double, I thought we were going to get something going with the middle of our lineup coming up and we just couldn't get a run across."
Rivera homered leading off the bottom half.
Wheeler, who missed the past two seasons while recovering from Tommy John surgery, made his first start since going on the DL retroactive to June 20 with biceps tendinitis. He gave up two hits, two unearned runs and two walks in 3 2/3 innings.
Joseph tied it at 3 with an RBI double in the fifth.
Duda homered in the fourth, sending his drive into the giant bin that houses the home run apple in straightaway center field. He also doubled in the second and scored on a two-out double by Jose Reyes.
Phillies: LF-2B Howie Kendrick expects to have an MRI this week on his strained left hamstring. He was placed on the 10-day disabled list Friday, retroactive to Wednesday. ... RHP Vince Velasquez (right flexor strain) was scheduled to make a rehab start with Triple-A Lehigh Valley.
Mets: Duda didn't start any of the previous three games because of flu-like symptoms. ... All-Star closer Jeurys Familia, who had surgery in May for a blood clot near his right armpit, will head to Florida next week to begin a throwing program. He could be back by early August, Collins said. "We were very lucky that the clot wasn't worse than it turned out to be," Collins added.
WHAT TIME IS IT?
The Phillies are in a stretch of 20 games that begin at a different time than the previous one. They don't play consecutive games at the same time until July 17-18 in Miami.
Phillies: Rookie RHP Nick Pivetta (1-4, 5.40 ERA) makes his first start against the Mets in the series finale Sunday. He allowed seven hits and walked five in 2 2/3 innings at Arizona last Monday in a 6-1 loss.
Mets: RHP Rafael Montero (1-4, 5.63) is coming off an 8-2 win Sunday in San Francisco. He allowed one run in a season-high 5 2/3 innings while striking out seven.
More AP baseball: https://apnews.com/tag/MLBbaseball
Bryant, Posey lead Giants to 8-6 win over fading Friars
— Scott Kazmir got the San Francisco Giants into a jam and rookie reliever Camilo Doval got them right out of it.
Astros move closer, beat Angels in 12; Ohtani out at plate
— Houston manager Dusty Baker says a huge source of pride about his AL West-leading team is the way it plays defense. It showed Wednesday night as right fielder Chas McCormick made two huge plays in the Astros' 9-5 victory over the Los Angeles Angels...
Yordan Alvarez absolutely demolishes this home run
Yordan Alvarez crushes this home run 456 feet at 116.1 miles per hour in the first inning.
Meyers, Altuve put Astros ahead in 12th
Jake Meyers and Jose Altuve combine for three RBIs as the Astros take a three-run lead in the 12th inning.
Ohtani overruns home plate, is tagged out to end 10th
With the bases loaded in the 10th, Shohei Ohtani attempts to tag home, but he overruns home plate and is tagged out.
NL East-leading Braves overcome Duvall's lost HR in victory
— Adam Duvall lost a home run to a baserunning miscue, but Atlanta rebounded with homers by Austin Riley, Ozzie Albies and Freddie Freeman and the Braves beat the Arizona Diamondbacks 9-2 on Wednesday night.