Despite United's commanding lead from the first leg, manager Ole Gunnar Solskjaer fielded a strong side in the Italian capital and was rewarded when Edinson Cavani opened the scoring in the first half.
Edin Dzeko, who also scored at Old Trafford, nodded in an equaliser and Bryan Cristante struck soon after to give Roma some slender hope of a famous turnaround, with David de Gea making 10 saves in total to keep the scoreline down.
Cavani headed in a second midway through the second half to ease some of the nerves for United, who will face Villarreal in what will be their first cup final since Solskjaer took over from Mourinho back in December 2018, despite Nicola Zalewski's late winner on the day.
De Gea made a brilliant close-range stop from the returning Gianluca Mancini after only four minutes, and Henrikh Mkhitaryan nodded wide at the far post from a corner shortly afterwards.
Cavani sent a lob over Antonio Cristante's goal and then fired a powerful effort straight at the keeper after being put through by Bruno Fernandes' clever pass.
Roma saw Lorenzo Pellegrini thwarted at close range by De Gea as it continued to push for a lifeline in the tie, but United struck with its next chance six minutes before the break.
Fernandes and Fred combined well, the latter slipped the ball to Cavani and the striker smashed a finish past Mirante from the edge of the box.
Roma, to its credit, continued to play positively and drew level in the match 57 minutes in, Dzeko heading the ball home after Pedro had scuffed a half-volley across goal.
Three minutes later, and Roma had the lead, Cristante firing a superb first-time shot past De Gea after Fred was dispossessed on the edge of the United box.
Dzeko fired straight at De Gea from point-blank range as Roma suddenly sensed United were there to be attacked, but Cavani ghosted in behind Mancini to head in Fernandes' cross from the left and make sure of his side's place in the final in Gdansk on May 26.
Zalewski struck a third for Roma on 83 minutes, his volley deflecting through De Gea's legs, but it was not enough for the Giallorossi.