Jack Suwinski added a solo homer for the Pirates, who entered play having lost three of their last four games
Pittsburgh starter Mitch Keller (8-2) pitched seven innings, allowing one run and a season-low two hits, with seven strikeouts and two walks. He has won five of his past seven starts.
David Bednar pitched the ninth for his 14th save despite giving up a one-out double to Tommy Pham.
Jeff McNeil hit a solo homer for the Mets, who have lost eight of their past nine games
New York starter Carlos Carrasco (2-3) gave up two runs and six hits in 4 2/3 innings, with one strikeout and three walks.
McCutchen, who retured to his original team this year in his 15th season, led off the bottom of the first with a line-drive single to left for his 2,000th hit.
He is the 291st major-leaguer to reach that milestone, and it came in the final game of a nine-game homestand. He was 1 for 3 with a walk in the game, while recording his 52nd hit of the season. He has 1,515 hits as a member of the Pirates
"It's cool to have the opportunity to do it, to sustain the career I've had," McCutchen said on the AT&T Sportsnet broadcast. "It's nice to get it out of the way in that first at-bat."
After his milestone hit, the Pirates went down in order in the first, stranding McCutchen at first
In the fourth, McNeil led off with his third homer, to right, for a 1-0 Mets lead
Suwinski answered in the bottom of the fourth, leading off with his 13th homer, also to right, for a 1-1 tie. An out later, Ji Hwan Bae doubled to right-center, moved to third on a wild pitch and scored on Marcano's single to right to give Pittsburgh a 2-1 lead.
--Field Level Media