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'
|Luis Enrique prepared for ´special´ fixture|
|Garcia paying no attention to table|
|Liga MX Preview: Queretaro eye play-off spots as derby unfolds|
|Silva set for four-week absence|
|Costa available for Chelsea|
|Mazzarri focused on performance|
|Away form a disaster - Allegri|
|Redknapp carefully managing Zamora|
|Hutton ruled out for Villa|
|ES Setif v AS Vita Club: Algerians aiming to prove doubters wrong|
|Cavani unsure over Paris Saint-Germain future|
|Melbourne City 1 Adelaide United 2: Villa bows out with defeat|
|Robertson returns for Hull|
|Di Matteo calls the shots - Heldt|
|Reveillere counting on European experience|
|Cheyrou leaves Marseille|
|Allardyce considers mid-season break|
|Cavani working to prove critics wrong|
|Walcott not ready to start, Wilshere ruled out against Burnley|
|Vermes refuses to play blame game|
|Eto´o on course to trigger Everton extension|
|Pellegrini facing sack - Marsh|
|Guidetti must pick Celtic - Deila|
|Zubizarreta unconcerned by Barcelona´s squad age|
|Costa Rican Primera Division Review: Alajuelense preserve lead|
|Al Hilal v Western Sydney Wanderers: A clash of styles to decide Asian champions|
|Liverpool exit possible - Gerrard|
|Pioli pleased with Lazio display|
|Copa Sudamericana Review: Emelec strike back at Sao Paulo|
|New York Red Bulls 2 Sporting Kansas City 1: Late winner denies reigning MLS champions|
|Robson: United talented as City|
|Verona 1 Lazio 1: Toni on the spot to earn a point|
|Varela returns to West Brom training|
|MLS announce new franchise Los Angeles FC|
|Newcastle United v Liverpool: Pardew vows to attack|
|UEFA sanction Slovan Bratislava and Sparta Prague|
|Pardew credits Hull fightback for upturn in form|
|Stoke City v West Ham: Allardyce sweating on Sakho´s fitness|
|Jovetic hungry for City goals|
|Fernandez red card rescinded|
|Chelsea v QPR: Redknapp ready to face Premier League´s best|
|Everton v Swansea: Martinez hails in-form attackers|
|SFA ban Tonev for seven games|
|Leicester City v West Brom: Pearson backs hosts to end slump|
|Arsenal v Burnley: Walcott set to return against bottom side|
|Koeman backs Southampton to maintain impressive start|
|Klopp wary of Dresden Pokal upset|
|Empoli v Juventus: Bonucci calls for greater maturity|
|Monk to meet with referee boss Riley|
|Parma v Inter: Crunch time for struggling Donadoni|
|Uchida extends Schalke deal|
|Liverpool must build on Swansea win - Rodgers|
|Hull City v Southampton: Koeman not worried about tiredness|
|Destro may consider Roma future|
|Raul completes Cosmos move|
|Bolasie working to adapt game|
|Bayern Munich v Borussia Dortmund: Kehl demands raised games|
|Bodmer pens Nice extension|
|Forest agree Ince loan|
|Simeone expected Atleti exits|
|Clark targets great escape after getting Blackpool job|
|Sakho ´touch and go´ for Stoke trip - Allardyce|
|La Liga Preview: Barca look to bounce back, Sevilla face Bilbao test|
|Icardi slams Inter boo-boys|
|Granada v Real Madrid: Ancelotti´s expectant side in red-hot form|
|Lorient v Paris Saint-Germain: Champions aim to stay in touch|
|Bundesliga Preview: Dortmund aim to end form slump at Bayern|
|Redknapp unconcerned over Ferdinand conduct|
|Atletico Madrid v Cordoba: Godin reveals Atleti motivation|
|Ligue 1 Preview: Strugglers Guingamp and Bastia face off|
|Ribery plays down supporter incident|
|Barcelona v Celta Vigo: Suarez set for home debut|
|Martinez praises influential Eto´o|
|Hernandez determined to shine|
|Kane hoping for starting role|
|Bonucci: Pitch not to blame for Juve loss|
|Pardew hails returning Taylor|
|Spain hit back in Costa row|
|Allegri slams Juve for Genoa loss|
|Copa Sudamericana Review: River Plate, Atletico Nacional grab leads|
|FC Dallas 2 Vancouver Whitecaps 1: Late penalty sends hosts through|
|Venezuelan Primera Division Review: Trujillanos triumph at Zamora|
|Liga del Futbol Profesional Boliviano Review: Bolivar reclaim lead, San Jose bounce back|
|Garcia not interested in Juventus´ loss|
|Copa do Brasil Review: Flamengo blitz Mineiro late|
|Guardiola: Hamburg ´surprised´ Bayern|
|Independiente del Valle 4 Universidad Catolica 0: Sornoza scores stunner|
|Paraguayan Division Profesional Review: Nacional extend Rubio Nu´s winless run|
|Ancelotti retracts Blatter criticism|
|Eredivisie Preview: Feyenoord-PEC a championship six-pointer|
|DFB Pokal Review: Leverkusen edge through on penalties, Bayern march on|
|Allegri unhappy with Genoa pitch and late goal|
|Bonaventura reveals ´lucky´ lob|
|Buoyant Pardew bullish after Newcastle triumph|
|Coupe de la Ligue Review: Late goal eliminates Marseille, Metz edge Nice on penalties|
|Pellegrini has defensive concerns|
|Serie A Review: Genoa shock Juve, Roma win again|
|Chelsea to face Derby in League Cup quarter-finals as Bournemouth host Liverpool|
|Inter 1 Sampdoria 0: Late Icardi penalty lifts Mazzarri|
|Genoa 1 Juventus 0: Antonini spoils Buffon milestone as champions suffer first defeat|
|Tottenham 2 Brighton and Hove Albion 0: Lamela and Kane put Tottenham through|
|Stoke City 2 Southampton 3: Late Pelle strike seals Saints progress|
|Manchester City 0 Newcastle United 2: Holders stunned on home soil|
|Cagliari 1 Milan 1: Bonaventura´s brilliance rescues a point|
|Hamburg 1 Bayern Munich 3: Returning Ribery inspires holders|
|Cornella 1 Real Madrid 4: Holders coast to easy Copa win|
|Fulham appoint Symons on full-time basis|
|Monk to face no action over Moses comments|
|Defensive duo earn first call-ups under Hiddink|
|Sturridge eager to link up with ´misunderstood´ Balotelli|
|Ferdinand receives three-match ban for misconduct|
|Vale turn to Page to start new era|
|Isla rubbishes Italy return rumours|
|Return to training a fantastic feeling - Carroll|
|Indian Super League Review: Elano inspires Mumbai hammering, Atletico held|
|O´Neill names provisional Republic of Ireland squad|
|Thai Premier League Review: Buriram go top with one game to go|
|King commits to Leicester|
|Swansea appeal Fernandez red|
|Schalke yet to begin Boateng talks|
|Championship Preview: Rowett reign begins at Birmingham, Derby travel to Brentford|
|League Two Preview: Whitlow takes charge of Burton, Luton eye eight in a row|
|Rummenigge risks fresh Reus row|
|Cabella targets consistency|
|Song wants Premier League stay|
|Ancelotti slams Blatter´s Ballon d´Or comments|
|Ancelotti calms Bale fears|
|Toure expecting more Balotelli goals|
|Clattenburg to miss weekend fixtures|
|Rodriguez surprised by Isco|
|Mourinho frustrated with fringe players|
|A-League Preview: City seek to avenge derby defeat|
|Pellegrini assured City will improve|
|Lovren: Balotelli´s goal ´a relief for everyone´|
|Coupe de la Ligue Review: Bordeaux win derby, Montpellier crash out|
|Howe hails history-making Bournemouth|
|Monk wants Fernandez red overturned|
|League Cup Review: Balotelli on target in late fightback, Chelsea edge through|