Lagares snapped an 0-for-16 drought with a two-run homer against Aaron Harang in the seventh inning to give the Mets the lead.
Carlyle then inherited a bases-loaded jam in the eighth and coaxed an inning-ending double-play grounder from Carlos Ruiz as the Mets held on for a 3-2 win against the Philadelphia Phillies at Citizens Bank Park.
Lagares went deep for the first time this season. His last homer had come on Aug. 26, 2014 against Atlanta's Alex Wood. Lagares had gone 198 at-bats since that long ball.
The Mets improved to 19-11. The Phillies dropped to 11-20.
Jeurys Familia converted his National League-leading 12th save with a scoreless ninth.
Facing a lineup lacking Chase Utley, Ryan Howard and Cody Asche and heavy on righty batters, Jonathon Niese limited the Phillies to two unearned runs in seven innings to improve to 3-2. Niese's ERA dropped to 1.95.
Debutant: Third catcher Johnny Monell made his Mets debut as the pinch hitter for Niese in the eighth. Batting with the bases loaded, the 29-year-old Monell grounded into an inning-ending 1-2-3 double play against Luis Garcia. Monell hit .397 with four homers and 15 RBIs in 58 at-bats with Triple-A Las Vegas before Tuesday's call-up. He replaced Eric Campbell.
E-4s: A fielding letdown at second base nearly proved costly for the Mets. And, this time, Daniel Murphy could not be blamed.
Dilson Herrera's wide throw to first base on speedy Ben Revere's leadoff grounder in the sixth led to a pair of unearned runs against Niese as the Phillies took a 2-1 lead. Ex-Met Jeff Francoeur's sacrifice fly plated Revere with the tying run. Philadelphia took the lead on Ruiz's RBI double.
The Mets had benefited from an E-4 in the fifth.
After Ruben Tejada slugged a leadoff double, the Mets eventually placed runners on the corners with one out. Lagares popped out to shortstop for the second out. Harang then appeared poised to get out of jam, but Cesar Hernandez -- starting over the slumping Utley at second base -- booted a would-be inning-ending grounder off the bat of Lucas Duda and Tejada scored. The Mets ended up loading the bases in the inning, but Murphy popped out and the Mets came away with just the lone unearned run.
What's next: Bartolo Colon (5-1, 2.90 ERA) opposes right-hander Chad Billingsley (0-1, 9.00) in Sunday's 1:35 p.m. ET rubber game. Manager Terry Collins said Anthony Recker is due to start at catcher in the series finale.