Morton (10-10) gave up only three hits while striking out five and walking three. Joel Hanrahan worked a perfect ninth to nail down his 39th save of the year.
"The timely hits we could use a few more of those," said Pittsburgh manager Clint Hurdle. "Both teams left a large amount of people on base but we did play excellent defense."
Daniel Hudson (16-11) was tagged with the loss after giving up three runs on seven hits over five innings. He fanned four and walked three.
"Give them credit, he made some mistakes and they got on him," Diamondbacks manager Kirk Gibson said of Hudson's outing.
The Pirates wasted no time taking the lead as Presley clubbed a double to center to leadoff the game and Walker followed with a double to center.
Pittsburgh added a second run in its next at-bat when Alvarez launched an offering from Hudson over the right field wall for his fourth homer of the season and a 2-0 advantage.
Arizona threatened in the fourth when Miguel Montero singled to begin the frame and Young ripped a single two batters later. Both runners advanced on a wild pitch by Morton and Gerardo Parra was intentionally walked to load the bases with two outs. The D-Backs were unable to cash in however, as Hudson grounded into a fielder's choice to end the inning.
The Pirates extended their lead to 3-0 in the fifth when Andrew McCutchen and Lee worked back-to-back walks and Doumit brought in McCutchen with a double into right field.
Arizona got on the board in the home seventh on an RBI single to center by Willie Bloomquist, but Lee crushed an offering from David Hernandez into the left field seats in the next inning with Presley on base to give the Pirates some breathing room at 5-1.
An RBI single by Roberts in the eighth brought the Diamondbacks within three, and Roberts scored on a throwing error later in the frame to account for the final score.
Pittsburgh is 35-42 on the road this season and has gone 5-13 in Arizona since the 2006 season...Pittsburgh leads the season series, 3-2...Arizona is 22-17 against the NL Central, while Pittsburgh is 13-19 against NL West opposition.