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'
|Allegri lauds Pogba performance|
|Messi pays homage after record-breaking day|
|Messi the record breaker|
|Serie A Review: Top two both victorious|
|Taylor hints that knee injury not as bad as first feared|
|Ligue 1 Review: Lyon stumble against Bastia|
|Van Gaal critical of United despite win|
|Lazio 0 Juventus 3: Pogba and Tevez star as champions dominate|
|Wenger frustrated by wasteful Arsenal defeat|
|Barcelona 5 Sevilla 1: Messi breaks La Liga record as Barca cruise|
|Garcia delighted with Ljajic display|
|League One Review: Swindon close the gap at the top, Yeovil off the bottom|
|Messi breaks La Liga goal record|
|Ancelotti: Isco a ´perfect´ Modric replacement|
|Bundesliga Review: Wolfsburg slip helps move Bayern well clear|
|Rooney revels in success of counter-attack ploy|
|Tiago: Malaga scalp proves we´re great|
|Arsenal 1 Manchester United 2: Rooney seals Van Gaal´s maiden away win|
|Reus injury angers Klopp|
|Schweinsteiger pays tribute to Bayern fans|
|Pellegrini salutes Toure´s attitude|
|Hughes laments Stoke´s slow start|
|Allardyce frustrated after Everton defeat|
|We deserved more - Redknapp|
|Irvine: Yacob can have no complaints|
|League Two Review: Luton run ended by Burton, Wycombe go top|
|Eibar 0 Real Madrid 4: Relentless Real win again|
|Poyet defends Cattermole over Cambiasso tackle|
|Dyche hails Burnley resolve|
|Martinez hails ´satisfying´ Everton triumph|
|Pearson sure of Leicester survival|
|Gomis earns Monk forgiveness for late miss|
|Pardew full of praise for Sissoko|
|Mourinho lauds ´beautiful´ Chelsea display|
|Scottish Premiership Review: Guidetti strikes again for Celtic, top four all win|
|Championship Review: Bamford denies Mackay´s Wigan, Derby extend lead|
|Aston Villa v Southampton: Koeman eyes international swagger|
|Newcastle United 1 QPR 0: Skipper Sissoko seals fifth straight win|
|Leicester City 0 Sunderland 0: Hosts´ goal drought continues|
|Stoke City 1 Burnley 2: Ings at the double as visitors hold on|
|Atletico Madrid 3 Malaga 1: Unconvincing champions halt in-form visitors|
|Everton 2 West Ham 1: Osman celebrates landmark with winner|
|Manchester City 2 Swansea 1: Toure seals comeback win for champions|
|Chelsea 2 West Brom 0: Yacob sees red as leaders march on|
|Paderborn 2 Borussia Dortmund 2: Reus injury leads to Dortmund capitulation|
|Bayern Munich 4 Hoffenheim 0: Champions move seven clear|
|Bielsa not concerned by Marseille investigation|
|Mancini buoyed by Inter preparations|
|Benitez rules out Liverpool return|
|Hertha prepared for Kalou absence|
|Montella confident despite Fiorentina pressures|
|Injured Alex out of Milan derby|
|Pochettino wants versatility from Dier|
|Van Gaal will not take risks with Falcao fitness|
|A-League Review: Sydney keep pressure on at top|
|K. League Review: Sangju Sangmu all but down, Gyeongnam remain in danger|
|J.League Review: Gamba deny title-chasing Urawa, Ventforet ensure safety|
|Rabiot thrilled with PSG return|
|Sterling wants long Liverpool stay|
|Poyet: I thought Cattermole would ´shoot´ me|
|Simeone: Cerci interest compliments Atletico|
|Blanc: ´I was confident´ of PSG win|
|Silva sidelined for crucial City-Bayern clash|
|Lambert would ´love´ to keep Vlaar, slams agent|
|Championship Review: Brentford up to fourth, Reading lose again|
|Athletic Bilbao 3 Espanyol 1: Aduriz back with a bang|
|Metz 2 Paris Saint-Germain 3: Lavezzi late show sends Blanc´s men top|
|Four clubs face UEFA investigation regarding overdue payables|
|Icardi can reach the top at Inter, says Milito|
|Klopp open to Premier League interest|
|Marseille sweat on fitness of Gignac and Alessandrini|
|Mansfield part company with Cox|
|Pochettino calls for Tottenham unity|
|Alaba targets January return|
|Milan v Inter: Mancini returns for derby showdown|
|Zidane ban overturned|
|Hughes optimistic on Bardsley and Pieters fitness|
|No room for error against Malaga - Simeone|
|Crystal Palace v Liverpool: Six-goal thriller still fresh in the memory|
|Koeman hopeful on Schneiderlin fitness|
|Khedira or Isco will replace Modric - Ancelotti|
|Costa fully fit after hamstring problems|
|Rodgers rules out early Origi arrival|
|Garcia unsure of Castan timeframe|
|Hull City v Tottenham: Dawson returns as Bruce´s men seek response|
|Luis Enrique: No talks over Messi future|
|Schweinsteiger in line for Bayern return|
|Kompany and Lampard fit for City|
|A-League Review: Zadkovich sees red after just 17 seconds in Glory win|
|FA to investigate Whelan comments|
|Mourinho relishing busy schedule|
|Allegri reveals Lazio talks|
|Caen president steps aside following arrest|
|Moyes sees Everton similarities at Sociedad|
|Whelan not racist - Bruce|
|Balotelli: The goals will come at Liverpool|
|Torres wants to be Milan top scorer|
|Milito backs Martino to lead Argentina to success|
|Gonalons signs new Lyon contract|
|Spurs need to give Pochettino time - Dawson|
|Walcott out of United clash, Welbeck a doubt|
|Poyet targeting cover for Van Aanholt|
|Messi happy at Barcelona - Bartomeu|
|Pardew plays down Perez-Shearer comparisons|
|Werder Bremen suffer Di Santo blow ahead of derby|
|Everton will not rush Stones - Martinez|
|Monk: Swansea will not recall Michu|
|Colombian Primera A Review: Santa Fe, Medellin still perfect in semis|
|Brazilian Serie A Review: Cruzeiro rally to beat Gremio|
|Lallana: ´I´ve got friends´ at Southampton|
|Boca Juniors 0 River Plate 0: Honours even in Superclasico|
|Costa Rican Primera Division Review: Alonso scores 10th goal in Alajuelense win|
|Guarani 3 Cerro Porteno 4: Late Ortigoza goal lifts Astrada´s men to summit|
|Defensa y Justicia 1 Newell´s Old Boys 0: Pellegrino saves late penalty|