NEW YORK -- Step by step, the improving New York Mets are building momentum for the second half.
Young's pinch-hit, two-run homer off Bryan Morris tied it at 4 in the seventh. Campbell came through with a pinch-hit single in the eighth to put the Mets ahead.
"That might be the biggest win of the year right there for us," manager Terry Collins said.
Daisuke Matsuzaka struck out 10 in six innings and New York (44-50) executed a perfect suicide squeeze, moving to 7-2 on a 10-game homestand that leads into the All-Star break.
Christian Yelich homered for the Marlins, who have lost four of five.
"I just didn't execute the pitch: 3-2 slider," Dunn said. "Left it over the plate. Pretty much the only bad slider I threw all inning."
Vic Black (2-2) worked a scoreless inning, and Jenrry Mejia got three quick outs for his 10th save. It is the third time the Mets have won seven games on a homestand at Citi Field, which opened in 2009.
All-Star second baseman Daniel Murphy stretched high for a leaping grab that kept the game tied in the top of the eighth, eliciting a roar not heard very often at Citi Field lately. Many in the festive crowd of 35,283 stayed for a postgame concert by Huey Lewis and the News.
"I still can't believe I saw that," d'Arnaud said. "He could dunk, I think, with how high he jumped."
With his days in the rotation probably numbered, as long as Jonathon Niese comes out of the All-Star break healthy, Matsuzaka had his fourth career double-digit strikeout game. The other three came with Boston in 2007, his first season in the majors.
"My slider was really good today, which contributed to those strikeouts, but I would rather have gone deeper in the game," Matsuzaka said through a translator.
Young was batting .195 before launching Morris' first pitch into the left-field stands for his second career pinch-hit homer. The other came on June 27, 2012, with Arizona against Atlanta.
"Never have I given up. I always realized how many games are left, how much is still possible," said Young, in his first season with the Mets after signing a $7.25 million, one-year contract. "The games ahead have nothing to do with the games that are past."
Morris hadn't allowed an earned run in 21 1-3 innings over 17 games with Miami since arriving from Pittsburgh on June 1 -- the longest consecutive innings streak without yielding an earned run to begin a Marlins career.
"Stroke of lightning that C.Y. dropped on `em right there," Murphy said.
Adeiny Hechavarria hit a leadoff double in the Marlins third and scored when third baseman David Wright made an error on Donovan Solano's RBI grounder. With two on, Matsuzaka limited the damage by striking out slumping slugger Giancarlo Stanton and Casey McGehee on sliders.
Yelich's solo shot in the fifth cleared the right-center fence near the 390-foot sign. It was only the third home run this season off Matsuzaka, who has thrown 71 innings.
New York tied it 2-all in the bottom half after Yelich was slow to get back on Nieuwenhuis' double at the left-field wall. Juan Lagares had an RBI groundout, and Nieuwenhuis dashed home on Tejada's suicide squeeze.
"That was one we should've been able to lock down," Miami manager Mike Redmond said. "We've had some struggles holding down a lead late in the game."
Marlins RHP Henderson Alvarez was added to the NL All-Star roster as a replacement for injured Washington pitcher Jordan Zimmermann. ... Collins said he might rest Murphy on Sunday before he heads to his first All-Star game. Campbell would probably start at second. ... RHP Bartolo Colon will start for the Mets in San Diego after the break. RHP Dillon Gee will be ready for that series but the team isn't counting on Niese (shoulder) that weekend, Collins said. Niese plans to throw Sunday and the Mets will wait to see how he's feeling before scheduling his return from the disabled list. ... New York rookie Jacob deGrom (2-5, 3.38 ERA) starts the series finale Sunday against LHP Brad Hand (0-1, 5.09).