The game, which was delayed by 1 hour, 47 minutes in the fourth inning, marked a sweep of the three-game series by the Pirates. The Cubs have lost five of their last six games.
The Pirates managed just three hits after the rain delay but with two-run rallies in both the first and second innings, it was enough to beat Chicago.
McCutchen singled in Starling Marte and scored on Michael McKenry's single in the first. The next inning Marte scored on a two-out triple by Travis Snider and McCutchen followed with an RBI single for a 4-0 lead.
All the runs came against Edwin Jackson (1-7), who struck out six in three innings but also allowed six hits and walked one.
Jeanmar Gomez gave up three hits in a start but didn't return after the rain delay so was ineligible to get the win. Vin Mazzaro (3-0) grabbed that with 2 1/3 innings of two-hit relief. Jason Grilli struck out two in pitching the ninth and earned his major-league leading 19th save.
David DeJesus led off the fourth with a double and advanced on Starlin Castro's single before scoring on a fielder's choice for the Cubs' first run. Ryan Sweeney contributed an RBI single in the seventh that made the score 4-2.