Scott Feldman allowed two hits in seven innings and Starlin Castro hit a two-run double to left in the Cubs' three-run eighth inning and Chicago beat the New York Mets 5-2 on Saturday.
Feldman (6-5) struck out six and had an RBI single in the fourth off Jonathon Niese (3-6) to help himself on the way to his first win since May 29.
Kevin Gregg got the last three outs for his ninth straight save and Chicago beat the Mets for the second day in a row, after losing five of seven before getting to Queens.
Gregg allowed a leadoff single to Marlon Byrd and third baseman Cody Ransom mishandled Justin Turner's hard smash with one out, but John Buck and Juan Lagares flied out.
The Mets got a run back in the bottom of the eighth on Jordany Valdespin's single off Carlos Villanueva, but David Wright struck out with runners on second and third and fans streamed for the exits.
The Cubs stranded 10 runners in the first seven innings before breaking it open in the eighth. Scott Rice allowed a hit and a walk around a sacrifice, then Brandon Lyon came on and gave up a single to load the bases before walking Cody Ransom to force in a run. Castro then had his hit.
Before his double bounced over the wall, Castro had stranded five runners and struck out three times, including with the bases loaded to end the fourth.
In the fourth inning, Wright followed Daniel Murphy's leadoff double with a double of his own to cut the lead to 2-1, but he was stranded at second.
Niese left with two outs in the fifth inning and a man on second. He finished having allowed two runs, six hits and four walks with five strikeouts. He is 0-2 in his past four starts.