Chicago beat the Mets for the second day in a row, after losing five of seven before getting to Queens.
The Mets got a run back in the bottom of the eighth on Jordany Valdespin's single off Carlos Villanueva, but Wright struck out with runners on second and third and fans streamed for the exits.
"In the eighth inning, there was silence in the dugout and the feeling was like 'Here we go again," Mets manager Terry Collins said. "Losing is as big of a habit as winning."
Jonathon Niese (3-6) 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.
"Niese battled without having his best stuff," Collins said. "He battled into the sixth inning and didn't want to come out and that's what I want. Guys who don't want to come out of the game."
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. The Mets hit three long fly balls in the sixth, but all were caught pretty much right at the wall.
"It seemed like they were running down balls all day in the outfield for me," Feldman said.
Feldman has bounced back nicely after a rough final season in Texas, where he spent the first eight seasons of his career. He only has one outing shorter than six innings this year after a rocky April, and has become a fixture in the Cubs' rotation. Which explains why Sveum was cringing as he saw the big right-hander come around second base.