Marcus Rashford's extra-time winner gave Manchester United a nervy 2-1 victory over Anderlecht to reach the Europa League semi-finals 3-2 on aggregate.
Henrikh Mkhitaryan gave United the lead on 10 minutes with a low effort from 12 yards, before Anderlecht levelled from Sofiane Hanni's close-range rebounded effort on 32 minutes.
United, and Zlatan Ibrahimovic in particular, missed a host of chances in the second half and extra-time, but Rashford got the winner in the 107th minute with a left-footed effort following a superb turn inside the box.
Jose Mourinho's side will find out who they face in the last four in the Europa League draw at midday on Friday, which you can follow live on SkySports.com.
United made five changes from the side that beat Chelsea on Sunday, bringing in Mkhitaryan, Ibrahimovic, Sergio Romero, Luke Shaw and Michael Carrick, while Anderlecht made several changes with a view ahead to their vital Belgian league clash with Club Brugge on Sunday.
Mkhitaryan gave United the lead with the first big chance of the game, firing home from 12 yards following a sweeping move made possible by Paul Pogba's outstanding pass through the defence.
Ruben then made two superb saves to keep it at 1-0, first from Pogba's header from a corner, before turning away Jesse Lingard's fine, curling effort on the half-volley from 20 yards.
Frank Acheampong then missed a golden opportunity to level the tie having beat Marcos Rojo and Eric Bailly to the ball, striking just wide as he approached Romero one-on-one.
Leander Dendoncker dragged an effort just wide of the post, before Anderlecht did get their deserved leveller. After Youri Tielemans had hit the bar with a long-range deflected effort, United failed to clear the rebound, allowing Hanni to strike home from close range.
Anderlecht picked up where they left off after the break, with Lukasz Teodorczyk's seeing his effort in space deflected wide, while at the other end Shaw's centre was turned inches wide by Lingard a few yards out.
Rashford was then handed a golden opportunity to regain United's lead after Dennis Appiah's mistake allowed him through on goal, but the youngster took the ball too wide after beating Ruben.
Minutes later it was Ibrahimovic's turn, as the Swede saw his poked effort blocked by Ruben at point-blank range, before Pogba also missed from six yards out from Mkhitaryan's corner.
Ibrahimovic's worrying-looking knee injury forced him off as the game went into extra-time, and there was more agony for United after the restart as Pogba's overhead kick from Rashford's rabona cross was blocked superbly by Uros Spajic.
United finally got their second two minutes after half-time in extra-time after Marouane Fellaini's header down found Rashford, who turned brilliantly and squeezed the ball home from 12 yards.
Acheampong's glancing header from six yards was saved unconvincingly by Romero late on as Anderlecht piled on the pressure, but United held on to reach the last four and keep their hopes of automatic qualification for the Champions League alive.