Kevin-Prince Boateng fired the Italians ahead on 15 minutes with a sublime strike, before two goals by former Manchester City frontman Robinho and a penalty from the impressive Zlatan Ibrahimovic put the tie beyond the Gunners.
Arsenal never really settled and were punished for some careless possession – and not even the introduction of former captain Thierry Henry in the final game of his loan spell from New York Red Bulls could spark a fairytale comeback.
The heaviest European away defeat for Arsenal will be a bitter pill to swallow, but Arsene Wenger must lift his squad again for what is now a crucial FA Cup fifth-round tie at Sunderland on Saturday ahead of the Premier League derby with Tottenham – when the Gunners will look to keep alive hopes of qualifying again for the Champions League with a top-four finish.
Milan had not won any of their previous seven matches against English clubs, knocked out of the Champions League at this stage by Tottenham last season.
However, the Serie A leaders never looked in danger of a repeat tonight, well organised from kick-off as Arsenal struggled to get any sort of foothold, regardless of a poor San Siro pitch which had recently seen the turf relaid down the flanks.
Veteran Dutchman Clarence Seedorf – a European Cup winner with three different clubs – drilled a low effort into the side-netting, before going off with what appeared to be a hamstring injury – compatriot Urby Emanuelson replacing him.
Boateng fired the Italians ahead on the quarter-hour mark. The former Portsmouth and Tottenham midfielder collected a chip to the edge of the Arsenal penalty area on his chest, before turning to fire the ball over Wojciech Szczesny and in off the underside of the crossbar.
Van Persie’s cut-back was blocked as the Gunners captain got clear down the left, before Laurent Koscielny’s flicked header from a floated 25th minute free-kick was straight at Milan goalkeeper Christian Abbiati.
Arsenal, however, were soon again giving possession away far too easily, inviting the hosts on.
However, despite having plenty of the ball in the final third, AC Milan failed to carve out any real openings.
Thomas Vermaelen lost out to Robinho, who darted clear but then then failed to cross for Ibrahimovic – who was clear in the middle – as Koscielny made a saving block.
It was 2-0 in the 38th minute when Ibrahimovic charged down the left channel and squared for Robinho to nod in from six yards.
Two minutes before the break, Koscielny hobbled off and was replaced by Johan Djourou – and another change followed at the start of the second half as Theo Walcott was replaced by Henry.
However, before the World Cup winner had a chance to make an impact, Milan extended their lead.
Vermaelen slipped, which gave Robinho the space to shoot at the edge of the box, and the Brazilian – whose £32.5million transfer to City in 2008 shattered the British record fee – slammed home what looked to be a tie-clinching third goal in the 49th minute.
It was now a case of damage limitation for Arsenal – and it could have been worse but for a complete miskick by Luca Antonini when he was set free following another swift counter.
The value of an away goal, however, meant the tie would still be alive were the English side to fashion a meaningful opportunity of their own.
Abbiati produced a brilliant one-handed save to turn around van Persie’s volley after a flick-on by Henry on 65 minutes.
Alex Oxlade-Chamberlain replaced Kieran Gibbs as Alex Song dropped into the back four.
However, any hopes of comeback were ended in the 78th minute when Djourou bundled over Ibrahimovic to concede a somewhat soft penalty, which the big Swede slotted into the bottom right corner, leaving Arsenal a mountain to climb in the return leg at Emirates Stadium on March 6.