The talismanic Swede, 35, had to go off after damaging his right knee late in the game at Old Trafford and may not play again this season, while United also lost centre-back Marcos Rojo.
United prevailed courtesy of an extra-time strike by Marcus Rashford, which secured a 3-2 aggregate success, after Henrikh Mkhitaryan's opener was cancelled out by Sofiane Hanni.
The scrappy, sapping victory means Jose Mourinho's side remain on course to claim the only major trophy missing from the club's collection.
But the injuries to Ibrahimovic and Rojo could prove costly, particularly with United having re-energised their push for a top-four finish in the Premier League by brilliantly beating Chelsea.
Ibrahimovic's injury occurred late in stoppage time, his right knee bending the wrong way as he landed following an aerial challenge in the Anderlecht box, leaving him grimacing on the deck.
The former Paris Saint-Germain striker, scorer of 28 goals this season, was able to hobble down the tunnel, aided by medical staff, but United's fans will fear they have seen the last of him this season.
It cast a shadow over United's evening, but Rashford's superb 107th-minute strike ensured they took up a place in the last four.
Star of Sunday's 2-0 win over Chelsea, he notched the decisive goal by gathering Marouane Fellaini's knock-down, making space with a sharp Cruyff turn and firing in a low shot with his left foot.
United first went ahead in the 10th minute after a finely measured pass from Paul Pogba found Rashford wide on the left.
Rashford's cross was blocked, but the ball came back to him and he squared it for Mkhitaryan, who drilled a low shot into the bottom-left corner.
United were on top and it took flying one-handed saves from visiting goalkeeper Ruben to repel a header from Pogba and a Jesse Lingard curler.
[caption id="attachment_59145" align="aligncenter" width="640"]
Anderlecht's Uros Spajic vies for the ball alongside United's Eric Bailly and Paul Pogba REUTERS
But United then lost Rojo - hurt as he tried in vain to halt Frank Acheampong, with Daley Blind taking his place - and Anderlecht levelled the tie in the 32nd minute.
Youri Tielemans's deflected shot came back off the crossbar and after a moment's confusion, Hanni put away the rebound.
United's chances became more clear-cut in the second half.
Rashford rounded Ruben but knocked the ball too wide after an error by Dennis Appiah and Ruben thwarted Ibrahimovic from substitute Fellaini's header.
A corner from Mkhitaryan fell for Pogba on the edge of the six-yard box, but he skied his volley into the Stretford End.
Freed by Michael Carrick, Ibrahimovic shanked wastefully wide.
Teed up by Ibrahimovic's scooped pass, Rashford found the side-netting.
Fortunately for United, he would not be denied. Unfortunately for United, Ibrahimovic had long since departed by the time he struck the winner.
Elsewhere, Ajax Amsterdam reached their first European semi-final in 20 years with a 4-3 aggregate win over Schalke 04 after extra time.
Leon Goretzka and Guido Burgstaller scored in the space of three second-half minutes to cancel out Ajax's advantage from the first leg before Daniel Caligiuri hit Schalke's third after 101 minutes thanks to Sead Kolasinac's fine cross.
But Nick Viergever quickly levelled on aggregate before Amin Younes hit a last-minute winner for the Dutch.
Celta Vigo reached a European semi-final for the first time after a 1-1 draw at Genk gave them a 4-3 aggregate win over the Belgians.
Danish winger Pione Sisto put the Spaniards ahead on the night with a fierce drive in the 63rd minute after a barnstorming run from the halfway line.
Leandro Trossard levelled just four minutes later but it was not enough to dent the Spaniards' charge to the last four.
In Istanbul, Lyon beat Besiktas 7-6 on penalties after the Turkish side had won 2-1 on the night to level the tie at 3-3.
(Trossard 67) Celta 1
Celta won 4-3 on aggregate
(Talisca 27, 58) Lyon 1
3-3 on aggregate - Lyon won 7-6 on penalties
(Goretzka 53, Burgstaller 56, Caligiuri 101) Ajax 2
(Viergever 111, Younes 120)
Ajax won 4-3 on aggregate
Man Utd 2
(Mkhitaryan 10, Rashford 107) Anderlecht 1
Man Utd won 3-2 on aggregate