Scott Feldman pitched seven innings of two-hit ball and drove in a pair of runs as visiting Chicago beat New York for the second consecutive day to run its winning streak to three games.
Starlin Castro added a two-run ground-rule double in the three-run eighth for the Cubs and Cody Ransom added a pair of hits and drew a bases-loaded walk.
Feldman (6-5) struck out six and allowed one run, retiring seven straight before Daniel Murphy and David Wright started the fourth with back-to-back doubles - the Mets' only hits against Feldman. Kevin Gregg pitched around a single and an error in a scoreless ninth for his ninth save.
Mets starter Jon Niese (3-6) allowed two runs on six hits over 5 2/3 innings. He struck out five and walked four but was able to work out of a couple of jams before Feldman's two-run single in the fourth.
Jordany Valdespin added an RBI single in the eighth for the Mets, but New York stranded two in scoring position when Murphy grounded out and Wright struck out against Carlos Villanueva. New York, which also left two men on in the ninth, has lost 10 of 12 overall.
GAME NOTEBOOK: Wright walked and doubled his first two times up and had reached safely in nine straight plate appearances before Cubs LF Alfonso Soriano made a nice play to retire him on a deep fly ball in the sixth. … The Cubs placed OF David DeJesus on the disabled list with a sprained right shoulder and activated RHP Shawn Camp. … The Mets have lost three straight series at home and are 13-23 at Citi Field overall and 1-6 on their current homestand.