Morton (7-3) allowed two runs (one earned) on seven hits, surrendering two walks and striking out six.
Tony Watson hurled a scoreless eighth and Mark Melancon picked up his 10th save for the Pirates, who grabbed first place in the National League Central by one game over St. Louis.
The Bucs were clinging to a 2-1 lead in the seventh when they put two runners aboard with none out and Neil Walker belted a three-run homer off Alfredo Figaro to break the game open.
Jose Tabata went 3-for-4 with two RBI as Pittsburgh took the first of a three-game set.
Brewers stater Tyler Thornburg (1-1) absorbed the loss, yielding two runs on six hits over six full innings.
Logan Schafer got Milwaukee's only RBI.