The Pirates have now beaten the Cubs three times this season with Morton (3-7) on the mound, though the right-hander finally earned his first decision in the games.
Working economically most of the night, Morton gave up just six hits and a run without walking a batter and threw 59 of his 82 pitches for strikes.
Ike Davis also homered and Starling Marte had three hits and two RBI for the Pirates.
Edwin Jackson (4-6) opposed Morton for the third time this season and went six innings, allowing four runs on seven hits and two walks with eight strikeouts.
Jared Hughes gave up a leadoff homer to Starlin Castro in the ninth inning, but settled in to get the last three outs for Pittsburgh.
The Pirates took a 1-0 lead after Pedro Alvarez hit a leadoff single in the second inning and scored on Marte's double down the left-field line.
McCutchen went the other way with a fastball for a two-out homer to right field after Travis Snider reached on a ground-rule double in the third inning.
The reigning NL MVP then followed Snider's single in the fifth inning with a drive off the right-field wall for an RBI double and 4-0 Pittsburgh lead.
Morton threw just seven pitches in the first inning and was stingy early on. Only one Cubs runner made it past first before Anthony Rizzo hit a two-out single in the sixth and scored on Castro's double off the wall in right that trimmed Chicago's deficit to 4-1.
In the bottom of the sixth, Marte was tagged out in a rundown between third base and home plate after the Cubs, correctly guessing a squeeze bunt or steal was on the way, pitched out to catch him.
Davis hit a leadoff homer in the eighth and Marte added an RBI double later in the frame to make it 6-1.