A controversial penalty from Danny Welbeck followed by Granit Xhaka's second-half strike proved enough to nullify a surprise opener from Hakan Calhanoglu in North London, before Welbeck returned to bag a brace late on as Arsene Wenger's men secured a 5-1 win on aggregate.
Victory for the Gunners will now see the Premier League outfit compete in their first quarter-final appearance in Europe since 2010.
The home side were caught on the back foot early on when Fabio Borini broke down the right flank before cutting a pass back for Andre Silva, but the Portuguese frontman could only fire his effort into the side netting from close range.
Arsenal soon grew into the contest and they began to play with authority in the middle, as the ball was switched out into the path of Nacho Monreal, who saw his cross cleared in the box by Riccardo Montolivo with Welbeck lurking.
The hosts were clearly keen to keep complacency at bay following what happened at the Emirates against Ostersunds FK, and they again came close to taking the lead when Welbeck broke away on the counter, only to see his shot saved by Gianluigi Donnarumma despite getting the better of Leonardo Bonucci.
Milan offered little going forward but they found themselves with a lead against the run of play when the hosts dropped off Calhanoglu, allowing the midfielder to unleash a standout finish from range beyond David Ospina, who was perhaps found wanting in the Arsenal goal.
Wenger's men hit back almost instantly, though, albeit in what turned out to be controversial circumstances. Welbeck broke free inside the area to collect a through-ball from Henrikh Mkhitaryan, before going down rather easily under pressure from Ricardo Rodriguez.
Replays suggested that there was minimal, if any, contact on the Arsenal forward but the officials still decided to hand the penalty to the hosts, which saw Welbeck return to send Donnarumma the wrong way and bring the Gunners back level.
The penalty inspired Arsenal to push for the lead just before half time and they almost found it, although Donnarumma was again on hand to turn away a vicious strike from Jack Wilshere on the edge of the visiting box.
Arsenal continued to attack in the second half and they were presented with two standout chances early on, but they were both squandered by Mkhitaryan and Aaron Ramsey, the latter blazing over the bar after a smart counter-attacking move.
Requiring another two goals to earn progression, Milan might have made things a little more competitive had Patrick Cutrone proved more clinical, but he could only send Silva's cross wide on the volley with 30 minutes to play.
Substitute Nikola Kalinic should have added some intrigue to the final stages of the game, only to send his header straight into the palms of a grateful Ospina following a teasing cross from centre-back Bonucci.
The killer goal was to arrive just minutes later too as Arsenal took the lead in the 71st minute through Xhaka, whose shot from distance profited from some slack goalkeeping as the ball somehow squeezed beyond Donnarumma despite the keeper getting two hands to the shot.
The Gunners continued to impose their dominance in the closing stages and they were able to make it 3-1 with just a few minutes remaining, as Welbeck profited from a loose ball in the box to head past Donnarumma, after Ramsey's initial effort had been blocked.
ARSENAL (4-2-3-1): Ospina; Bellerin, Mustafi, Koscielny (Chambers, 11'), Monreal; Xhaka, Ramsey; Wilshere, Ozil, Mkhitaryan (Elneny, 69'); Welbeck
AC MILAN (4-3-3): Donnarumma; Borini, Bonucci, Romagnoli, Rodriguez; Suso, Kessie (Locatelli, 79'), Montolivo; Calhanoglu (Bonaventura, 70'), Cutrone (Kalinic, 67'), Silva