The Rossoneri have been an entirely different proposition in the Champions League, defying some dismal domestic form, winning six successive UCL matches on their way to booking their place in the knockout round but it was the Croatians, needing maximum points to progress, who took a shock lead in the 19th minute.
Matteo Gabbia inexplicably trod on the ball to allow Martin Baturina to dispossess the defender and race through before slipping the ball under an onrushing Mike Maignan.
Now manager of Dinamo Zagreb, Fabio Cannavaro is no stranger to AC Milan, playing in Serie A for 17 years including representing arch-rivals Inter, but there was a touch of irony about the first goal being a defensive error considering Cannavaro’s mastery of the arts during his playing career.
Milan’s misery was further compounded on 38 minutes when Yunus Musah was shown a second yellow card for pulling back Luka Stojkovic just outside the 18-yard box.
The American was incensed at his dismissal, even refusing to leave the pitch and upon first glance it would appear his anger was somewhat justified as both bookings were for minimal contact.
The seven-time European champions were almost two goals behind as Baturina raced through before laying off to Stojković for a simple tap-in but VAR brought the play back for a handball by the Croatian midfielder.
Just as their trip to the Croatian capital was threatening to turn into a disaster, three minutes later Milan were level. Pulisic picked up the ball on the edge of the box before unleashing a shot on the turn past a hapless Ivan Nevistic.
The Rossoneri failed to kick on and instead, Zagreb reclaimed the lead with an excellent finish by former Juventus player Marko Pjaca. The midfielder took one touch to receive the ball before hitting a pinpoint left-footed shot into the very corner of the net to send the Stadion Maksimir wild.
Despite a wonderful victory that will live long in the memory of Dinamo fans, ultimately the pain of missing out on a play-off spot will sting and eagle-eyed viewers will note the big 9-2 loss to Bayern Munich as a key moment in their European campaign.
For Milan, Sergio Conceicao will be hugely disappointed to drop out of the top eight but considering they started with back-to-back defeats, the Italians will be happy enough with progress nonetheless.