Leading 2-0 from the first leg at the San Siro, Arsene Wenger's men found themselves behind to a superb Hakan Calhanoglu strike 10 minutes before half-time.
But any momentum Milan were building up dissipated when one of the additional assistant referees indicated Ricardo Rodriguez had fouled Welbeck when contact was minimal at best.
Milan continued to ask plenty of questions until a dreadful error from their goalkeeping protege Gianluigi Donnarumma meant Granit Xhaka's speculative strike put the overall result beyond doubt and Welbeck struck again in the 86th minute.
15 - Arsenal have had 15 different goalscorers in the Europa League this season (not including own goals); the most of any team. Range. pic.twitter.com/SGRKIVOyvK— OptaJoe (@OptaJoe) March 15, 2018
Arsenal allowed Swedish minnows Ostersunds to make inroads into a healthy first-leg lead in the previous round and they started sloppily once more, gifting Fabio Borini space to advance down the right and cross for Andre Silva to lash into the side netting.
Laurent Koscielny's 11th-minute departure with an apparent back injury increased the defensive anxiety for the hosts, with Calum Chambers filling the void at centre-back, but they were warming to their task in an attacking sense.
A simmering contest burst into life 10 minutes before half-time when Calhanoglu unleashed a brilliant strike that swerved away from David Ospina and flew low into the right corner.
Arsenal's response was purposeful rather than panicked – Donnarumma palming an Aaron Ramsey shot to safety – and Welbeck converted coolly from 12 yards, even if the decision to award a penalty against Rodriguez for a foul on the England forward bordered on farcical.
Donnarumma saved from Ramsey as Arsenal looked to settle the issue early in the second period and Henrikh Mkhitaryan was unable to outfox the Italy international at his near post.
Back came Milan, with Suso flashing a shot past the bottom right corner from the edge of the area, although Ramsey should have done better than clattering over in the 56th minute after Mesut Ozil and Mkhitaryan pulled the Serie A side apart down their left-hand side.
Before the hour Milan forward Patrick Cutrone was unable to turn home an acrobatic volley with Ospina rooted on his line.
Suso's booking for simulation in the 61st minute did nothing for Milan coach Gennaro Gattuso's deteriorating mood, but his call to send on Nikola Kalinic almost proved inspired as the Croatia striker nearly headed home Leonardo Bonucci's raking pass with his first touch.
Wenger brought on Mohamed Elneny for Mkhitaryan to shore up his midfield and that freed up Xhaka to venture a little further forward and score from a shot Donnarumma should have dealt with in routine fashion. Instead, he seemingly dived beyond the ball and pushed it back into his own net.
Opsina thwarted Andre Silva and saw Suso thump a strike just over from the resulting corner, but it fell to Welbeck to have the final word, nodding in after Donnarumma denied Ramsey from Jack Wilshere's cross.
Key Opta stats:
- Arsenal have reached the quarter-finals of a European competition for the first time since 2009-10 (in the Champions League).
- Arsene Wenger’s side have 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.
- The Gunners have won both legs of a European knockout tie for the first time since 2003-04, when they bettered Celta Vigo in both legs of the Champions League last 16.
- Mesut Ozil created six goal-scoring chances in Thursday's game; the most by an Arsenal player in European competition since November 2013, when Ozil himself recorded the same amount versus Marseille in the Champions League.