Marouane Fellaini's 17th-minute header put United 2-0 up on aggregate, but Celta hit back late on through Facundo Roncaglia, who was then sent off along with United's Eric Bailly following a centre-circle shoving contest.
United will play a youthful Ajax team in the final at Stockholm's Friends Arena on May 24, when they can complete their trophy collection and -- perhaps more importantly -- book a place in next season's Champions League.
"We suffered until the end and it was open until the last second," United manager Jose Mourinho told BT Sport.
"After 14 matches we are in the final. If we win the Europa League I am more than happy. It would be amazing."
Mourinho will have to do without influential centre-back Bailly, whose suspension leaves Chis Smalling, Phil Jones and Daley Blind as United's only available central defenders.
With Mourinho having publicly abandoned hope of a top-four finish in the Premier League, after his side fell four points off the Champions League berths, United's season would have effectively been over had they gone out.
Instead they have a chance to add a second big trophy to the League Cup won in February and allow Mourinho to end a complicated maiden campaign as manager by winning the fourth major European honour of his career.
Appearing in their first European semifinal, Eduardo Berizzo's Celta gave United several uncomfortable moments and there was panic in the hosts' box during the fraught closing stages.
Both managers reverted to the teams that had started last week's first leg, which meant a United return for Paul Pogba, whose world-record transfer from Juventus is being investigated by Fifa.
United started shakily, with Blind looking particularly uncertain, and there were early murmurs of concern around Old Trafford when Iago Aspas cut in from the right and obliged Sergio Romero to tip his rasping shot over.
LYON GO CLOSE
An audacious juggling show from Pogba roused the crowd and United tightened their grip on the tie when Marcus Rashford's sumptuous cross from the left was headed in at the back post by Fellaini.
The goal had the effect of freeing United from their shackles, with Henrikh Mkhitaryan, Jesse Lingard and Pogba all arrowing shots over the bar.
But Celta served reminders of their threat as the first half drew to a close, Pablo Hernandez, Pione Sisto and John Guidetti working Romero and Daniel Wass heading wide from Sisto's dangerous drilled cross.
Celta continued to probe in the second half, with Guidetti thrashing inches wide from Sisto's lay-off and heading off-target from Mallo's cross.
United also had their moments, Celta goalkeeper Sergio Alvarez saving from Mkhitaryan and Fellaini and producing a smart block to thwart Rashford after the 19-year-old had jinked his way past two defenders.
Roncaglia's looping 85th-minute header set the scene for a nerve-wracking finale, but despite losing Bailly, United held on.
Ajax looked to have killed their tie against Lyon following their 4-1 home win in last week's home leg when Kasper Dolberg gave them a 27th-minute lead.
But a quick-fire double right at the end of the first period from Alexandre Lacazette -- the first from the penalty spot -- gave the French side hope.
Substitute Rachid Ghezzal's heavily deflected header nine minutes from time made it 3-1 on the night and Dutch international Nick Viergever's sending-off gave Lyon extra impetus.
But they could not find an all-important fourth to send the tie into extra-time.
Instead, Ajax will play their first final in this competition since winning the trophy in 1992 and their first European final since losing to Juventus in the Champions League in 1996.