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'
|AC Milan sale delayed until March|
|Police horse burger thrower fined|
|Nolito comfortable with Guardiola´s rotation policy|
|Ajax expect in-demand Bazoer to exit|
|Not even the Golden Boot would get me an England recall, says Defoe|
|MLS MVP Villa has no interest in Premier League move|
|Vidal: I never had a problem with Luis Enrique|
|Ancelotti not keen on Madrid Champions League reunion|
|Zabaleta: Guardiola needs Iheanacho more than ever|
|Ranieri not fearful of Foxes chop|
|Celtic fan arrested for throwing burger at police horse|
|Dad-to-be Lewandowski reveals baby news with goal celebration|
|Klopp´s Liverpool watched Barca at Camp Nou|
|Wenger braced for tough last-16 draw|
|Roberts buoyed by Guardiola acclaim|
|Gladbach´s Alvaro Dominguez retires at 27|
|Simeone satisfied with aggressive Atletico|
|Emery aims to bounce back after European disappointment|
|Madrid demand ´maximum respect´ for Ronaldo|
|No pressure on Iheanacho to fill Aguero´s boots - Guardiola|
|Cocu praises PSV effort despite European exit|
|Ancelotti hoping for confidence boost|
|Gunes takes blame for Besiktas thrashing|
|Vitoria upbeat despite Napoli defeat|
|Arda Barca future brighter after hat-trick|
|Le Tissier makes ´naked massage´ claims|
|´He has a smell for the goal´ - Wenger hails hat-trick hero Lucas|
|Guardiola to assess Roberts situation at end of season|
|Napoli have no fear - Reina|
|Iheanacho shines but Guardiola concerns lie deeper|
|Barcelona pass masters set new Champions League benchmark|
|Dybala ready to return for Juventus|
|PSV 0 Rostov 0: Russians seal Europa League spot with stalemate|
|Paris Saint-Germain 2 Ludogorets 2: Di Maria rescues draw but PSG miss out on top spot|
|Benfica 1 Napoli 2: Super-sub Mertens seals top spot|
|Dynamo Kiev 6 Besiktas 0: Nine-man visitors crash out|
|Messi fails to match Ronaldo´s Champions League record|
|Basel 1 Arsenal 4: Lucas hat-trick helps Gunners clinch top spot|
|Manchester City 1 Celtic 1: Roberts scores against parent club|
|Bayern Munich 1 Atletico Madrid 0: Lewandowski free-kick the difference in Bavaria|
|Barcelona 4 Borussia Monchengladbach 0: Arda hat-trick lights up Barca procession|
|Zidane ´more sympathetic´ than other Madrid coaches, says Ramos|
|Bartra eager to square up against old rivals Madrid|
|Pardew´s job is ´totally safe´ - Palace chairman|
|Shelvey and Dummett red card appeals successful|
|Lopes doubtful for Sevilla clash due to lack of sleep|
|Real Madrid test will bring the best out of Aubameyang - Tuchel|
|Slutsky to leave CSKA Moscow|
|Genesio hails Valbuena character|
|Spurs hungry for Europa League football - Vertonghen|
|Deschamps claims Pogba is unlikely to ever win Ballon d´Or|
|Xavi: Barca have not lost their essence|
|Strootman banned for sparking Rome derby brawl|
|Mkhitaryan accepts blame for slow start at United|
|New York City star Villa named MLS MVP|
|Ramos distances himself from tax avoidance scandal|
|Witsel casts doubt on January Juventus switch|
|Schmidt has faith in misfiring Hernandez|
|Gabriel not happy at Inter, says agent|
|PSG just another game for returning Balotelli|
|Dortmund eye top spot and a goalscoring record - Champions League in Opta numbers|
|Southgate bids farewell to England assistant Lee|
|Europa League can help Spurs end Wembley hoodoo - Pochettino|
|Watmore´s season ended by injury|
|Zidane: Dortmund clash is a final|
|Gotze to miss Madrid test|
|Lacazette to ponder Lyon future|
|Griezmann lauds ´world class´ Aubameyang|
|Sporting´s in-demand Gelson going nowhere, claims agent|
|FA appoints new lead QC as scope of child sexual abuse review is outlined|
|Hodgson: England players failed to grasp my instructions|
|Xhaka pleads for time to settle in at Arsenal|
|Kluivert urges PSG to learn from Montpellier humbling|
|Augenthaler tips Bayern captain Lahm to play on|
|Rodgers: Celtic growing in confidence in Europe|
|Brazil-Colombia friendly proposed to raise money for Chapecoense|
|If you don´t play, you can´t shine - Hummels urges Mourinho to believe in Mkhitaryan|
|Ronaldinho ready to help Chapecoense|
|United can still finish top four - Guardiola|
|Bale´s ankle ´feeling better every day´|
|Sarri: Napoli in Lisbon to win|
|Watford and West Brom hit with FA charge|
|Karanka delighted with Boro´s game management|
|Middlesbrough 1 Hull City 0: Ramirez sinks sorry Tigers|
|Can Arsenal break the Basel curse? The Champions League in Opta Numbers|
|Everton confirm serious knee injury for Bolasie|
|Stam set for Old Trafford reunion in FA Cup third round|
|Sanchez, Ozil contract talks not just about money - Wenger|
|It is normal my son says I´ll coach Inter, I will - Simeone|
|Chapecoense confirmed as Copa Sudamericana champions|
|Sullivan backs Bilic to reverse Hammers´ fortunes|
|It was close...very close - Hummels reveals level of Man United interest|
|What You Might Have Missed: An FA Cup comeback of all comebacks and Monaco can´t stop scoring|
|Preston fans to be refunded from Beckford, Doyle fight fines|
|In-demand Lindelof ´happy to stay at Benfica´|
|FA charges City and Chelsea for late fracas|
|Darmstadt sack coach and sporting director after dismal run|
|Anyone who says they would not sign Messi is a liar! - Caballero|
|Roberto warns Madrid: Barcelona will cut the gap|
|Emery: Champions League top spot was always PSG´s priority|
|Guardiola brands Sanchez transfer rumours as lies|
|Boateng ruled out of Bayern´s clash with Atletico|
|FA confirms four-game ban for Aguero|
|Blatter FIFA ban remains after CAS dismisses appeal|
|Luis Enrique: I don´t give a damn about beating Gladbach|
|Emre hits out at Allardyce´s style... and slams his chewing gum|
|Bravo the world´s best goalkeeper, says Pellegrini|
|Ibrahimovic: I know how to kick someone and make him fall asleep|
|Barcelona and Real Madrid would not win 5-0 in Ligue 1 - Verratti|
|Seedorf out, Eriksson in at second-tier Chinese club|
|Tevez to China? Shanghai Shenhua claim ´breakthrough´ in talks|
|´English football is not more pure´ – Pochettino will not slam Alli for ´dive´|
|Gudjohnsen offers his services to Chapecoense|
|Savicevic: Champions League qualification paramount for Milan|
|Wenger: West Ham could take two years to settle|
|River Plate play in green as tribute to Chapecoense|
|Roberto Carlos open to coaching in A-League|
|Wenger confident there is more to come from Arsenal|
|Kane wants to see out career at Tottenham|
|Aguero challenge labelled ´crazy´ by disappointed Cahill|
|Mourinho ´has nothing to hide´ over tax affairs|