German powerhouse Borussia Dortmund suffered a surprise exit at the hands of Salzburg. Two goals by Fernando Torres helped Atletico Madrid oust Lokomotiv Moscow while CSKA Moscow knocked out Lyon after winning the second leg in France 3-2.
Marseille progressed after a 2-1 win at Athletic Bilbao that was marred by crowd trouble. Lazio advanced with a 2-0 win at Dinamo Kiev and Leipzig drew 1-1 at Zenit to go through 3-2 on aggregate.
Viktoria Plzen beat Sporting 2-1 after extra time but it was not enough to prevent the Portuguese team reaching the last eight 3-2 on aggregate.
The draw will be held Friday.
WELBECK ON FIRE
Hakan Calhanoglu put Milan in front after 35 minutes at the Emirates Stadium with a long-range effort.
Welbeck, named in England's squad earlier in the day for this month's friendlies against the Netherlands and Italy, leveled for Arsenal from the penalty spot.
Granit Xhaka then netted in the 71st minute before Welbeck made the game safe four minutes from time.
Arsenal, sixth in the Premier League, is likely to have to win the Europa League to secure a spot in the Champions League next season.
TORRES ON TARGET
Torres' two goals for Atletico came in the second half against Lokomotiv.
He converted a penalty in the 65th minute after substitute Antoine Griezmann was fouled by goalkeeper Anton Kochenkov before adding his second with a low right-foot shot five minutes later.
Angel Correa, Saul Niguez and substitute Antoine Griezmann were also on target for Atletico. Maciej Rybus scored for host Lokomotiv.
Atletico, winner of the competition in 2010 and 2012, advanced 8-1 on aggregate.
Bilbao police said two security guards received minor injuries after being attacked by Marseille fans, and that three supporters had been detained.
There was also trouble in the previous round against Spartak Moscow when a police officer died after clashes involving both sets of fans outside the stadium.
On the field Thursday, captain Dimitri Payet followed up his first-leg goal by scoring a penalty in the return match to stretch Marseille's aggregate lead to 4-1.
Lucas Ocampos made it 2-0 on the night after fooling two defenders and shooting low past goalkeeper Iago Herrerin before Inaki Williams pulled one back for Bilbao, which had Aritz Aduriz sent off in the 76th minute.
FINAL HOST OUT
Aleksandr Golovin struck six minutes before halftime to cancel out Lyon's one-goal advantage from the first leg in Moscow.
Maxwel Cornet equalized in the 58th minute but CSKA scored twice in five minutes through Ahmed Musa and Pontus Wernbloom to advance on the away goals rule after the game ended 3-3 on aggregate. Lyon's second goal came from Mariano.
The Stade de Lyon will host the final in May 16.
Salzburg recorded a 2-1 upset win in Dortmund two weeks ago and held on to their advantage with a goalless draw in the second leg in Austria.
Lucas gave Lazio a 23rd-minute lead in Kiev when he headed in a corner from Luis Alberto and Stefan de Vrij completed a 4-2 aggregate win with seven minutes to go.
Leipzig took control at Zenit as Jean-Kevin Augustin's low shot gave them a 22nd-minute lead.
Sebastian Driussi leveled by volleying home a cross from Domenico Criscito in first-half stoppage time. Timo Werner then missed a penalty for Leipzig but the German team still went through 3-2 on aggregate.
Bas Dost missed a penalty in injury time for Sporting but the visiting team still went through against Plzen thanks to Rodrigo Battaglia's extra-time decider.