Match ends, Arsenal 3, Milan 1.
Arsenal 3-1 AC Milan (agg: 5-1)
Danny Welbeck scored twice on the day he was recalled to the England squad as Arsenal beat AC Milan to reach the quarter-finals of the Europa League.
Leading 2-0 from the first leg in the San Siro, the Gunners fell behind on the night when Hakan Calhanoglu produced a wonderful finish from 30 yards after being allowed to run unchallenged.
Arsenal quickly levelled, though, from a controversially awarded penalty - Welbeck going down under minimal contact from Ricardo Rodriguez before scoring from the spot.
And, after highly rated Milan keeper Gianluigi Donnarumma allowed Granit Xhaka's long-range attempt to squirm into the net, Welbeck sealed a third straight win with a close-range header.
Victory meant Arsenal reached a European quarter-final for the first time since 2010.
They will learn their last-eight opponents when the draw takes place on Friday from 12:00 GMT.
- Wenger 'wants to avoid Atletico Madrid'
- Dortmund knocked out by RB Salzburg - Europa League round-up
- Torres double as Atletico breeze past Lokomotiv
|Sixteen become eight...|
|This season's Europa League quarter-finalists are: Arsenal, Atletico Madrid, CSKA Moscow, Lazio, Marseille, RB Leipzig, RB Salzburg and Sporting Lisbon.|
|The draw will take place in Nyon, Switzerland at 12:00 GMT on Friday - and you can follow it live on the BBC Sport website and app.|
Will double spark Welbeck goal surge?
Milan's players and fans were visibly - and probably justifiably - angered by the decision to award Arsenal a penalty in the closing stages of the first half.
Rodriguez appeared to do no more than brush Welbeck's shoulder, and the former Manchester United player fell to the floor.
The officials were in no doubt a foul had been committed, and a penalty was awarded.
Welbeck, hours after being called into the international squad for friendlies against the Netherlands and Italy, sent Donnarumma the wrong way for his first goal since 7 January.
With Arsenal 12 points adrift of fourth place in the Premier League, winning the Europa League appears to be their best chance of qualifying for next season's Champions League.
If they are to do that, they will need more goals from Welbeck, particularly as January signing Pierre-Emerick Aubameyang is cup-tied.
And the 27-year-old's confidence certainly surged after his seventh goal of the season for club and country.
His clever cutback presented Henrikh Mkhitaryan with a great chance just before half-time, but the Armenian headed wide.
In an entertaining game, Xhaka gave Arsenal the lead on the night courtesy after a mistake by Donnarumma, before Welbeck nodded home the third after Aaron Ramsey's point-blank header was kept out.
Big-spending Milan long way from glory days
Ten years ago, Milan were Champions League winners. They have a long way to go before they can class themselves as European heavyweights once again.
The Rossoneri spent £201.5m last summer, buying an entire team in an effort to lift this fallen giant back to its feet.
But they are 27 points behind leaders Juventus in Serie A and limped out of the Europa League after missing a string of chances.
It could have been different had Andre Silva hit the target instead of the side netting after just 45 seconds.
Milan were much more adventurous than the first leg, though they had former Liverpool forward Fabio Borini at right-back.
Calhanoglu's goal momentarily shocked the Emirates before the dubious penalty decision calmed the home fans.
At 1-1, Milan continued to waste chances.
Patrick Crutrone fired wide with David Ospina rooted to the spot, while substitute Nikola Kalinic, a former Blackburn player, missed another opportunity with a tame header.
Gennaro Gattuso's side can still end the season with a trophy - they face Juventus in the Coppa Italia final on 9 May - but will have to do a lot more spending before they are a force again.
Man of the match - Mesut Ozil (Arsenal)
Win-win - the stats
- Arsenal won both legs of a European knockout tie for the first time since 2003-04.
- Arsene Wenger's side won a European knockout match at the Emirates for the first time since March 2012, when they beat AC Milan 3-0 in the last 16 of the Champions League.
- Welbeck scored his first double for the Gunners since September 2017, when he netted twice in a 3-0 win over Bournemouth in the Premier League.
- Arsenal have had more different goalscorers than any side in European competition in 2017-18 (excluding own goals), with Welbeck and Xhaka becoming the 14th and 15th players to score for them in this season.
Arsenal have a break of more than two weeks before their Premier League match against Stoke City at the Emirates on 1 April (13:30 GMT).
AC Milan go in search of a fifth successive win in Serie A when they host struggling Chievo on Sunday (14:00 GMT).
- 6KoscielnySubstituted forChambersat 11'minutes
- 18MonrealBooked at 45mins
- 11ÖzilSubstituted forKolasinacat 79'minutes
- 77MkhitaryanSubstituted forElnenyat 69'minutes
- 99DonnarummaBooked at 39mins
- 11BoriniBooked at 42mins
- 13RomagnoliBooked at 40mins
- 8Fernández SaezBooked at 61mins
- 79KessiéSubstituted forLocatelliat 79'minutes
- 10CalhanogluSubstituted forBonaventuraat 70'minutes
- 9André Silva
- 63CutroneSubstituted forN Kalinicat 67'minutes
- 7N Kalinic
- Jonas Eriksson
- Shots on Target
Second Half ends, Arsenal 3, Milan 1.
Foul by Granit Xhaka (Arsenal).
Suso (Milan) wins a free kick in the defensive half.
Attempt blocked. Mohamed Elneny (Arsenal) right footed shot from outside the box is blocked.
Attempt blocked. Aaron Ramsey (Arsenal) right footed shot from outside the box is blocked. Assisted by Sead Kolasinac.
Attempt blocked. Nikola Kalinic (Milan) right footed shot from outside the box is blocked. Assisted by Giacomo Bonaventura.
Attempt missed. Jack Wilshere (Arsenal) left footed shot from outside the box is close, but misses to the left. Assisted by Danny Welbeck.
Goal! Arsenal 3, Milan 1. Danny Welbeck (Arsenal) header from very close range to the top right corner.
Attempt saved. Aaron Ramsey (Arsenal) header from very close range is saved in the centre of the goal. Assisted by Jack Wilshere.
Foul by Aaron Ramsey (Arsenal).
Leonardo Bonucci (Milan) wins a free kick in the defensive half.
Attempt blocked. Manuel Locatelli (Milan) right footed shot from outside the box is blocked. Assisted by Suso.
Corner, Milan. Conceded by Mohamed Elneny.
Foul by Mohamed Elneny (Arsenal).
Giacomo Bonaventura (Milan) wins a free kick in the defensive half.
Substitution, Arsenal. Sead Kolasinac replaces Mesut Özil.
Substitution, Milan. Manuel Locatelli replaces Franck Kessié.
Foul by Nacho Monreal (Arsenal).
Franck Kessié (Milan) wins a free kick in the defensive half.
Attempt missed. Suso (Milan) left footed shot from the right side of the box is close, but misses to the right following a corner.
Corner, Milan. Conceded by David Ospina.
Attempt missed. André Silva (Milan) header from the centre of the box misses to the left. Assisted by Fabio Borini with a cross.
Delay over. They are ready to continue.
Delay in match Héctor Bellerín (Arsenal) because of an injury.
Goal! Arsenal 2, Milan 1. Granit Xhaka (Arsenal) left footed shot from outside the box to the bottom left corner. Assisted by Aaron Ramsey.
Nacho Monreal (Arsenal) wins a free kick on the left wing.
Foul by Suso (Milan).
Substitution, Milan. Giacomo Bonaventura replaces Hakan Calhanoglu.
Substitution, Arsenal. Mohamed Elneny replaces Henrikh Mkhitaryan.
Attempt saved. Nikola Kalinic (Milan) header from the centre of the box is saved in the centre of the goal. Assisted by Leonardo Bonucci with a cross.
Substitution, Milan. Nikola Kalinic replaces Patrick Cutrone.
Corner, Arsenal. Conceded by Ricardo Rodríguez.
Jack Wilshere (Arsenal) wins a free kick in the defensive half.
Foul by Patrick Cutrone (Milan).
Foul by Jack Wilshere (Arsenal).
Fabio Borini (Milan) wins a free kick in the defensive half.
Attempt missed. Riccardo Montolivo (Milan) right footed shot from outside the box is too high. Assisted by Hakan Calhanoglu following a corner.
Corner, Milan. Conceded by Calum Chambers.
Foul by Aaron Ramsey (Arsenal).