Angel Pagan's two-run homer broke a 1-1 tie before Jason Bay added an RBI double and Ike Davis celebrated his call up from the minor leagues earlier in the day by capping the inning with a run-scoring single.
"It was my first time being called up and it was great," Davis told reporters. "I thought I was going to be batting fourth (for my minor league team) and got even better news."
Chicago starter Randy Wells struck out five and allowed just one run through six innings but New York (5-8) took advantage of the Cubs' bullpen, who used three pitchers in the seventh.
James Russell, who replaced Wells in the seventh and was then replaced himself after he gave up the homer to Pagan, took the loss for the Cubs (5-8), who were beaten for a third successive time.
The Mets entered the night having recorded a season-low four hits in a 5-3 loss to the St Louis Cardinals Sunday but rebounded with revitalized offense.
Both Bay and Davis finished with two hits apiece to support starter Jonathon Niese, who battled through 5 2/3 innings while walking three batters and allowing the Cubs' run on an infield single by Marlon Byrd in the sixth.
New York reliever Fernando Nieve was credited with the win after taking over for Niese and pitching 1 1/3 innings.
Chicago has also been mired in an offensive slump, and made a change prior to the game by moving Byrd to the leadoff spot in the lineup in place of ice-cold Ryan Theriot, who went 0-for-3 and now has just three hits in his last 22 at-bats.
"This is very frustrating... we're better than this," said Byrd, who had three hits in the top spot for the Cubs. "As a team, we expect to score runs. We can't put it together right now."
(Reporting by Jahmal Corner in Los Angeles; Editing by John O'Brien)