[gallery type="rectangular" ids="221361,221362,221363,221364,221365,221366,221367"]
Jon Niese (3-3) pitched seven commanding innings for the Mets, which won for just the sixth time in 20 games this month.
Juan Lagares delivered a two-out, go-ahead RBI single in the seventh inning against Chris Perez.
Eric Campbell, playing his first career game in left field, doubled Yasiel Puig off second base after making a spectacular diving catch in the eighth to preserve the team's lead.
The Mets ended Zach Greinke's stretch of 21 straight starts allowing two or fewer runs. He gave up four hits, three runs and walked two batters.
Dodgers OF Matt Kemp bobbled a line drive by Curtis Granderson in the first inning that let him take third base on a double. Granderson later scored on Campbell's sacrifice fly.
In the fifth, third baseman Justin Turner botched a ground ball by Daniel Murphy that scored Niese, who read reached base earlier with an RBI double.
In the sixth inning, Hanley Ramirez hit a high popup to second base. Murphy got under it, but seemingly lose it in the lights. The ball fell, Murphy hesitated and Puig jogged off second base. He was quickly tagged out for the double play.
Jenrry Mejia pitched for the second consecutive day, logging a scoreless ninth inning for his second save since moving to the bullpen.
The Mets host the Diamondbacks for a weekend series Friday night, as Bartolo Colon (3-5, 5.34 ERA) opposes rookie RHP Chase Anderson (2-0, 5.06) at 7:10 pm ET.