A second-half onslaught from the hosts put them firmly in control of the two-legged tie.
Bruno Fernandes gave the hosts an early lead after a beautiful team goal which saw Paul Pogba drift in from the left before passing to Edinson Cavani, who laid it off for an onrushing Fernandes to lift the ball over Pau Lopez.
As he done so often this season, Cavani showed his experience by equalising three minutes after the break.
The Uruguayan was found in the box by Fernandes and produced another brilliant finish into the far top corner.
And it was the 34-year-old who gave United the lead on 64 minutes, pouncing on a mistake from replacement goalkeeper Antonio Mirante to finish from inside the six-yard box.
Fernandes then got his second of the game after former United defender Chris Smalling brought down Cavani in the box.
United were in dreamland when Pogba produced a delightful header from Fernandes' cross to beat Mirante.
Mason Greenwood put the cherry on top to make six for United thanks to another contribution from Cavani, whose remarkable outside the foot pass allowed the 19-year-old to blast past the goalkeeper.
The second leg will be played in Rome next Thursday, but United will rightfully feel they have done enough to book a place in final.