Mario Balotelli and Philippe Mexes scored late on at Siena as Milan came from behind to secure a place in the UEFA Champions League.
Balotelli’s 84th-minute penalty had cancelled out Claudio Terzi’s first-half header, before Mexes netted a crucial winner three minutes from time.
A hard-fought second half saw both sides reduced to 10 men in the space of just a few minutes after Massimo Ambrosini and Christian Terlizzi were both sent off for second bookable offences.
But it was the late goals that made all the headlines as Milan guaranteed their place at European football's top table in dramatic circumstances.
Milan came into the game needing to win in order to beat Fiorentina to the final UEFA Champions League place, and they made five changes to the team that played out a controversial 0-0 draw with Roma last week.
Sulley Muntari's bizarre red card in that game meant that he was suspended, while Ignazio Abate was preferred ahead of Kevin Constant.
Robinho, Antonio Nocerino, Riccardo Montolivo and M'Baye Niang were all handed starts.
Siena, whose relegation was confirmed with a 2-1 loss away to Napoli, welcomed back Alessandro Rosina.
Milan began the game with an expected level of urgency, creating a flurry of chances during the opening exchanges.
Balotelli was the first to test Gianluca Pegolo in the Siena goal, seeing his stinging long-range effort tipped over the crossbar.
A few moments later, Cristian Zapata saw a header cleared off the line before Brazilian Robinho was unlucky not to break the deadlock when he saw his vicious swerving shot palmed away by Pegolo.
And Milan were made to pay for their profligacy just before the half-hour mark when the hosts took an unlikely lead through Terzi.
A pinpoint free-kick from Rosina found the head of the defender, who took advantage of some slack Milan marking to direct his header past Chrisitan Abbiati.
Milan nearly conjured up the perfect response just two minutes later, when Balotelli crashed a shot onto the crossbar.
And the Italian was involved again just before half-time, forcing a decent save from Pegolo as Siena weathered the Milan storm.
The second half began in similarly frustrating circumstances for Milan, as they struggled to find a decisive final ball. And 10 minutes later they were down to 10 men when Ambrosini slid in rashly on Adrian Callelo and was shown a second yellow card.
The numbers were even soon after, though, as the home side were also down to 10 men - Terlizzi given his marching orders for jumping into a challenge with Balotelli.
Balotelli made his mark in some style 10 minutes from time when he was brought down in the box by Felipe to give Milan hope.
The Italian brushed himself down to calmly slot home the resulting spot-kick and the comeback was on.
Then, with just two minutes to go, Mexes found himself on the end of a Montolivo cross to slot home the dramatic winner.
|88||C. Terlizzi||45' 70'|
|14||F. Della Rocca|
|Coach: G. Iachini|
for A. Rosina 61'
for I. Emeghara 75'
for M. Rubin 89'
|Ronaldo takes one for the team as Portugal emerge from drudgery in Lens|
|Croatia 0 Portugal 1 (aet): Quaresma earns quarter-final berth|
|Hodgson will not beg for FA approval after Euro 2016|
|Emotional Bale glad to share Paris joy with family|
|O´Neill left frustrated by officials following Euro 2016 exit|
|Coleman hails Bale brilliance in Wales win|
|Low relying on Kroos to lead Germany the way|
|Italy v Spain: Thiago denies shirt jinx ahead of Azzurri clash|
|O´Neill: McAuley has been magnificent|
|Szczesny thanks Swiss fans for drink|
|Hector: Slovakia have plenty of quality in attack|
|Morata: Italy defenders have told me to wear a helmet|
|Coleman content with scrappy Wales progression|
|Wales remain and Northern Ireland leave after Paris battle|
|We are free of pressure - Gera|
|´Do I look like I have doubts?´ - Defiant Nawalka defends Lewandowski|
|Wales 1 Northern Ireland 0: McAuley´s woe is Welsh joy|
|No chance Barcelona star Neymar will join Madrid, says his father|
|Witsel happier to face Hungary than Spain|
|Wilmots accepts pressure ahead of Hungary test|
|Slovakia can upset Germany again - Pekarik|
|Shaqiri unhappy with Poland celebrations after Euro 2016 exit|
|Grosicki struggled to watch Poland shootout win|
|Poland need Lewandowski to rediscover ruthless streak|
|Switzerland 1 Poland 1 (aet, 4-5 pens): Xhaka shocker costs Swiss after Shaqiri magic|
|Payet can handle hero status - Deschamps|
|Redmond joins Southampton on five-year deal|
|Sturridge: Sterling unfairly targeted over England performances|
|Wilmots: I want more from smiling De Bruyne|
|Croatia star Perisic unveils latest wacky hairstyle|
|Brazil´s Lucas Lima wants European move|
|Lloris tempers talk of Ireland revenge mission|
|Deschamps refuses to make France ´98 comparisons|
|O´Neill confident Ireland can shock France|
|Chiellini will give Morata a few kicks - Barzagli|
|England v Iceland: Rooney targets early goal|
|Italy´s Candreva ruled out of Spain match|
|Butland ready for pre-season after scan gives goalkeeper all-clear|
|Origi not underestimating Hungary|
|Plans drafted for Old Firm games to be played abroad|
|Boost for Germany as Boateng trains ahead of last 16|
|I never saw Ronaldo look in the mirror! - Ancelotti|
|Fabregas fears Brexit will damage Premier League|
|Roy not keen on Ireland allocation|
|Dyke backs Hodgson for new contract|
|Spain not as aggressive as 2012, claims Ancelotti|
|Ronaldo and Messi need each other – Ancelotti|
|Juve on the same level as Madrid and Barcelona - Dybala|
|Fabregas: Conte´s Italy will be tough|
|Argentina v Chile: New year, same Copa finalists|
|Ronaldo ´cannot be the whole of Portugal´ - Shilton|
|Messi: Neymar is an amazing person|
|Pekerman keen to finish Copa on high note|
|Rakitic: Ronaldo won´t sleep easily|
|Messi: Now is not a time to give nothing|
|Courtois expects to leave Chelsea in future|
|Less rest no problem for Portugal - Joao Mario|
|Euro 2016 Diary: Benteke rap and Nelly the elephant|
|Santos: Group-stage performances behind Portugal|
|Cacic: We cannot let Ronaldo show his strength|
|O´Neill hopes to blow Bale off course|
|Coleman impressed with Ramsey´s discipline|
|O´Neill fires derby passions ahead of Wales showdown|
|Coleman: Take emotion out of Northern Ireland clash|
|LFP sanctions six Nice players for flouting gambling rules|
|Hungary v Belgium: Lukaku targets last-four spot|
|Dyke hopes Brexit can help England youngsters|
|No favourites against Italy, says Koke|
|Krychowiak not thinking about PSG as Poland stand by Lewandowski|
|World Cup qualifying: Algeria, Cameroon and Nigeria drawn in same group|
|Brexit may damage Premier League´s pursuit of young European players|
|Germany v Slovakia: Weiss confident of repeat Augsburg success|
|France v Republic of Ireland: Long not on Henry revenge mission|
|Chelsea midfielder Baker extends Vitesse loan|
|Chiellini concerned over Brexit ´domino effect´|
|Staying in Euro 2016 gets Coleman´s vote|
|Nainggolan has a room with a balcony so he can smoke - Wilmots|
|Petkovic attempts Poland mind games|
|Wilmots would rather play Spain than Hungary|
|Morata deserves more than being a Madrid bargaining chip - Chiellini|
|AZ want record fee for Janssen|
|What does Brexit mean for European football?|
|I´m not tired, I feel sharp - Kane hits back at critics|
|Delighted Kiyotake hopes to prove his value|
|Premier League confident Brexit will not diminish its success|
|Neuer wary of Hamsik´s long-range shots|
|Genesio: Lyon do not have to sell|
|Morata thanks Juventus fans after Real Madrid return|
|Lapadula undergoes AC Milan medical|
|Santos: Not everything revolves around Ronaldo|
|Icelandic chihuahua prepares to chase the England rhino|
|Jakupovic signs new Hull City contract|
|Lagerback: Brexit will not affect England team|
|ES Setif disqualified from CAF Champions League|
|Gerland sees Kimmich as Lahm´s long-term successor|
|Navas ´recovering nicely´ from heel injury|
|Messi excited by future Barcelona challenges|
|Conte´s Italy like Atletico and Barcelona, says Xavi|
|Zidane the man to take Madrid forward, says Baptista|
|United States v Colombia: Hosts out to end Copa America on a high|
|Aubameyang: It´s my dream to play in Spain|
|Wenger not interested in France job|
|Ronaldo: Euro 2016 surprises end now for Portugal|
|Coke hopeful Sampaoli can exceed Emery at Sevilla|
|Maradona: Portugal too dependent on Ronaldo|
|´What a disaster´ - Messi takes aim at AFA|
|Guidetti: Nolito will thrive at City|
|Wanyama thanks Southampton fans following Spurs switch|
|Kranjcar: Rangers can push Celtic all the way|
|Euro 2016 Diary: Icelandic heaven and Rooney not feeling the love|
|Wenger respects Vardy, talks up Kante|
|Rooney wants to end ´disappointing´ tournament record for England|
|Di Maria in serious doubt for Copa America final|