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'
|Rincon seals Genoa move|
|Dunne announces international retirement|
|Romulo close to Juve switch|
|Trencin 0 Hull City 0: Huddlestone pays penalty in Hull stalemate|
|Rennes prise Prcic away from Sochaux|
|CSL Preview: Liaoning look for swift response, buoyant R&F visit Henan|
|Pique desperate to regain high standards|
|Marseille agree three-year Stade Velodrome lease|
|Torres will not be leaving, says Mourinho|
|Bastia bring in Brandao|
|Paris Saint-Germain v Guingamp: League and cup winners battle for Trophee des Champions|
|Argentine Primera Division suspended after Grondona death|
|Immobile: Lewandowski is the past, I am the future|
|Rose pens new Tottenham deal|
|CSL Review: Evergrande end Harbin run, Henan edge clear of danger|
|Ivory Coast appoint Renard|
|Three-man shortlist for South Korea post|
|MLS Preview: Sounders aiming to bounce back against Earthquakes|
|Personal reasons behind Evra´s Juve switch|
|Liga MX Preview: Monterrey out to continue winning run|
|J.League Preview: Oenoki begins S-Pulse reign at Tokyo|
|K.League Preview: Jeonbuk face tricky Jeonnam test, Pohang visit Suwon|
|Kakuta loaned to Vallecano|
|Morrison remanded in custody|
|Hernandez coy on United exit|
|Neymar on road to recovery|
|Feyenoord capture Wilkshire and Basacikoglu|
|Yoel makes Valencia switch|
|Heaton extends Burnley deal|
|Lees leaves Leeds for Wednesday|
|Caballero eyes first-team action|
|Newcastle ´monitoring´ Remy, claims Pardew|
|Rodriguez ready to fight for Real place|
|Cavani ´certain´ he will stay with PSG|
|Morrison charged with assaults|
|Copenhagen slam security after fan violence in Kiev|
|Gerrard: Suarez ´too good´ for Arsenal|
|Mourinho explains Lukaku exit|
|Simeone content with Atleti workout|
|Milligan: Australia targeting Asian Cup|
|Ronaldinho rules out retirement|
|Rodgers challenges Henderson|
|Jovetic can be City catalyst - Pellegrini|
|Janko joins Sydney as marquee|
|Deila ´unbelievably disappointed´ with Celtic|
|MLS Review: DC close on Sporting, Red Bulls hold RSL|
|Ecuadorian Primera A Review: Emelec crowned champions|
|Bolivar 1 San Lorenzo 0 (agg 1-5): Visitors advance to maiden Libertadores final|
|Gerrard open to move abroad|
|Lukaku tells Chelsea ´no hard feelings´|
|Zaha eager to impress Van Gaal|
|Liverpool down Man City after shoot-out|
|Atletico fall to Gonzalez´s penalty heroics|
|Glazers offer up 8m United shares|
|Bertrand joins Southampton on loan|
|Van Aanholt features as Sunderland fall to defeat|
|UEFA Champions League Review: Celtic hammered in Warsaw|
|Collison stakes his claim as QPR are held|
|Newcastle youngsters edge to Wednesday win|
|Villa beaten by buoyant Chesterfield|
|Juve held by new boys Cesena|
|Late Drinkwater strike helps Leicester see off Walsall|
|Everton seal club-record Lukaku deal|
|Lazio complete De Vrij capture|
|Fabregas opens account in Chelsea win|
|AFA president Grondona dies aged 82|
|Trezeguet heading for Indian Super League|
|Premier League to introduce vanishing foam|
|Rennes bring in Bruls|
|Kehl steps down as Dortmund captain|
|Capello: I´m staying until 2018|
|Pedro saddened by Fabregas departure|
|Fernandez agrees Porto switch|
|West Ham close on Jenkinson, says Allardyce|
|Donnelly out for three months|
|Chambers: It has been a whirlwind|
|Lukaku drops Chelsea exit hint|
|Mee signs new deal at Burnley|
|Lovren denied United States visa|
|Redknapp admits Fer interest|
|No official Cuadrado bids, insists agent|
|Maguire ready to make step up|
|Rodgers: Liverpool have a strategy in transfer market|
|Ki out to prove himself at Swansea|
|Garcia plays down importance of Real scalp|
|Evian complete Bruno signing|
|Poyet frustrated by lack of new faces|
|Mexes convinced Milan are improving|
|Mazzarri praises Inter attitude|
|Ronaldo could face Manchester United - Ancelotti|
|Tevez thanks fans after father found ´safe and well´|
|Gabi braced to tackle big-spending rivals|
|Shaw: I deserved Van Gaal criticism|
|Morinigo surprised by Gedoz substitution|
|Honduras appoint Medford|
|Van Gaal delighted with United display|
|Roma battle past Real Madrid|
|Simeone talks up Hernandez transfer|
|Defensor Sporting 1 Nacional Asuncion 0 (1-2 agg): Visitors into final despite loss|
|United edge Inter on penalties|
|Gerrard: It´s been ´the worst three months of my life´|
|Sabella set to quit Argentina post|
|Toure plans to see out career with City|
|Tevez´s father released after kidnapping|
|Benitez denies Callejon spat|
|Brownhill stunner downs Burnley|
|Sunderland edge out Recreativo|
|Barton and Hoilett earn QPR draw|
|UEFA Champions League Review: Lafata treble puts Sparta in command, Slovan beat Sheriff|
|Gomis opens Swansea account at Exeter|
|Schneiderlin hints at Southampton discontent|
|Scolari makes Gremio return|
|Bojan strike in vain as Schalke beat Stoke|
|Tevez to miss friendly amid kidnap reports|
|Porto sign Jose Angel from Roma|
|UEFA Europa League Preview: Trencin v Hull City|
|Liverpool land Origi|
|UEFA Europa League Preview: Torino return to Europe after 20-year absence|
|Rodriguez and Schneiderlin not for sale, say Southampton|
|Rakitic: Not all about front three|
|Barkley pens new Everton deal|
|Guardiola relishing Chivas friendly|
|Drogba targets Premier League glory|
|Hull make Maguire and Robertson double swoop|
|Perisic blow for Wolfsburg|
|Ibrahimovic scores hat-trick as PSG hammer Kitchee|
|Al-Hilal coach sacked over referee row|
|La Liga boss wants cream of the crop|
|Valencia granted work permit, completes West Ham move|
|Atletico complete deal for Griezmann|
|Reus focused on fitness battle despite ´major European interest´|
|Barcelona announce club-record revenue|
|Bony could be sold for right price, says Jenkins|
|Confidence key for Newcastle, says Taylor|
|Saivet out for four weeks with knee injury|
|Genk part company with Ferrera after just one game of season|
|Gold clarifies Twitter gaffe|
|Vidic adapting to different style at Inter|
|Toulouse bring in Matheus|
|Butragueno backs Rodriguez to cope with pressure|
|Benteke aiming to come back stronger|
|Valdez joins Frankfurt|
|Jovetic ready to shine|
|Simeone hails Griezmann qualities|
|Monk unsure over De Guzman future|
|Benitez: Michu will take time to adjust|
|Diaby confident of staying fit|
|Shaw not fit enough, says Van Gaal|
|MLS Preview: RSL look for attacking spark|
|Monk slaps ´astronomical´ price on Bony´s head|
|Australian clubs looking at Ronaldinho|
|Sinclair enjoying ´one of the best pre-seasons´|
|Spiranovic surgery a success|
|Seattle Sounders 0 Los Angeles Galaxy 3: First-half blitz fires Californians to victory|
|Lemina thrilled with Bielsa effect|
|Bayern´s Green chomping at the bit|
|Palace complete US tour with easy win|
|Carragher: Liverpool didn´t want me|
|Simeone: Atleti´s La Liga triumph was no fluke|
|Sturridge: ´I´ll step up´|
|Van Gaal: Formation gives United flexibility|
|Mathieu insists age is no barrier|
|Martinez the deal sealer, says Besic|
|Coaches embrace blockbuster Serie A start|