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'
|Johnson backs in derby late show|
|Juventus must maintain focus, warns Allegri|
|Newcastle United 0 Sunderland 1: Johnson settles derby|
|Carlos leaves Sivasspor post|
|Dundee United 2 Celtic 1: Ciftci inspires surprise win|
|Mourinho against use of independent panels|
|Hartlepool not interested in signing Evans|
|Reed delighted with first Southampton start|
|Bremen agree Oztunali loan|
|Irvine backs Ideye to end goal drought|
|Carrick backs Falcao to kick on|
|Dortmund will come back stronger, vows Klopp|
|Bojan senior slams Barcelona|
|Eredvisie title not won yet - Depay|
|Sterling eager to catch Arsenal cold|
|Monk: Ki will be sorely missed|
|Bruce looking to recall Hull duo from loan spells|
|Allardyce: Pearson deserves time|
|Burns double downs Sydney|
|Real Madrid 2 San Lorenzo 0: Spanish giants complete triumphant 2014|
|McCoist: Departures sucking life out of Rangers|
|Hargreaves urges Sterling to stay put|
|Herediano 1 Deportivo Saprissa 1 (agg 3-5): Draw hands visitors consecutive titles|
|Tribulietx basks in Auckland City´s heroics|
|San Lorenzo´s Bauza applauds Ancelotti|
|Wenger: Sanchez a Footballer of the Year candidate|
|Chelsea like United´s treble-winning team - Hargreaves|
|Ancelotti: Copa del Rey victory inspired Real´s stunning run|
|La Liga Review: Catalan clubs triumph|
|Milan on right track - Inzaghi|
|Estoril 1 Vitoria Guimaraes 0: Kleber checks visitors´ momentum|
|Eredivisie Review: PSV in Eagles demolition, AZ downed at home|
|Garcia fumes at missed handball|
|Serie A Review: 10-man Milan frustrate Roma, Cesena rescue point|
|Roma 0 Milan 0: Hosts denied despite Armero red|
|Ligue 1 Review: PSG held at home, Monaco claim fourth win in a row|
|Bundesliga Review: Bremen off bottom with Dortmund win, Augsburg beat Gladbach|
|Blanc frustrated after drab stalemate|
|League Two Review: Moore´s Hartlepool tenure begins with draw|
|Championship Review: Blackpool hit for six, Middlesbrough slip up|
|Luis Enrique enjoying Pedro´s resurgence|
|Scottish Premiership Review: Aberdeen move to second, St Mirren misery continues|
|Koeman delighted with clinical Southampton|
|Pochettino tips in-form Kane for England call-up|
|Dortmund are ´idiots´ - Klopp|
|Allardyce hails ´outstanding´ Downing|
|Young admitted fault after Agbonlahor dismissal, says Lambert|
|Pearson not concerned with speculation|
|Bruce: Hull simply not good enough|
|Everton must improve - Martinez|
|Irvine rues sloppy defending|
|Cruz Azul 1 Auckland City 1 (2-4 on pens): Plucky New Zealanders claim third|
|Austin an example for young strikers - Redknapp|
|Dyche takes pride in White Hart Lane defeat|
|Arabian Gulf League Review: Al Shabab strike late to sink Al Dhafra, top two win|
|Swansea win vindicated changes, says Monk|
|Van Gaal frustrated by dropped points at Villa|
|Paris Saint-Germain 0 Montpellier 0: Champions frustrated by Courbis´ men|
|League One Review: Wilson gains landmark win as Bristol City and Swindon falter|
|Hull City 0 Swansea City 1: Monk´s men celebrate rare away win|
|Southampton 3 Everton 0: Koeman´s side back to winning ways|
|Aston Villa 1 Manchester United 1: Visitors held despite Agbonlahor dismissal|
|QPR 3 West Brom 2: Austin treble lifts hosts out of drop zone|
|Barcelona 5 Cordoba 0: Suarez opens Liga account in emphatic win|
|Tottenham 2 Burnley 1: Lamela stunner wins it for Spurs|
|West Ham 2 Leicester City 0: Carroll, Downing seal the points|
|Werder Bremen 2 Borussia Dortmund 1: Hosts off the bottom by adding to Klopp´s woes|
|Kerala Blasters 0 Atletico de Kolkata 1: Last-gasp Rafique seals inaugural title|
|Warnock fumes over disallowed goal|
|Pellegrini hails Silva quality|
|Betis announce Mel return|
|Huntelaar signs Schalke extension|
|Juventus v Napoli: Allegri backs Tevez to make difference|
|Stoke City v Chelsea: Mourinho calls for adaptability|
|Manchester City 3 Crystal Palace 0: Silva strikes twice as champions go joint-top|
|A-League Review: City snatch Melbourne derby honours, Glory pull further clear|
|Mancini: Inter can finish third|
|Sterling revels in Golden Boy award|
|Pellegrini: You never win a title in December|
|Rodgers bemoans Sanchez snub|
|Ayew confident Marseille can beat title rivals|
|Mercier: San Lorenzo won´t roll over to Real Madrid|
|Lukaku: I´m still 21|
|Mainz bemoan ´tragic´ loss to Bayern|
|Rojo ruled out for Villa trip|
|Lopetegui thrilled with Porto response|
|Guardiola pays tribute to battling Mainz|
|Orlando City sign Shea|
|Porto 4 Vitoria Setubal 0: Brahimi inspires late drama|
|League Two Review: Burton held, Cambridge snatch late point|
|Millwall 0 Bolton Wanderers 1: Pratley nets winner for visitors|
|Lens 2 Nice 0: Cyprien and Coulibaly lift hosts|
|Celta Vigo 0 Almeria 1: Nolito miss proves costly|
|Heerenveen 0 ADO Den Haag 0: Visitors´ winless streak extended|
|Mainz 1 Bayern Munich 2: Guardiola´s men break Christmas points record|
|Blanc unconcerned by league placing|
|United targeting title - Carrick|
|Soldado ´ashamed´ at not performing for Spurs|
|Ramos to wait and see on fitness for final|
|Garcia wins appeal against two-match ban|
|Hart signs new City contract|
|Hereford United wound up|
|Pearson given touchline ban for fan row|
|FIFA confirms third-party ownership ban|
|Inter v Lazio: Ranocchia wants to build momentum|
|Rodgers hits out at Sterling criticism|
|Pardew backs Colback to shine against Sunderland|
|Minimal recovery time a concern for Bauza|
|Liverpool v Arsenal: Wenger out to avoid repeat performance|
|Newcastle United v Sunderland: Pardew calls for a derby day show|
|Adebayor available for Burnley clash|
|Athletic Bilbao v Atletico Madrid: Simeone´s men eye fitting response|
|Targett commits to Southampton|
|Garcia vows to attack Milan|
|City still without strike trio for Palace test|
|Courtois set for return at Stoke|
|Di Maria set for possible United return at Villa|
|Neymar in frame for Cordoba match|
|FIFA to publish Garcia report|
|Liverpool will not appeal Balotelli ban|
|A-League: Newcastle Jets 2 Adelaide United 1|
|Fournier eyes Fekir stay and attacking reinforcements|
|Abidal announces retirement ahead of potential Barca return|
|Redknapp: Crouch deal not possible|
|Klaassen laments Ajax ´off-day´|
|Wenger not fearful of another Anfield nightmare|
|Whelan wants to extend Stoke stay|
|Kalou eyes Hertha exit|
|Fellaini: Belief growing of title tilt at United|
|Benteke: Villa transfer request was a mistake|
|Gerrard urges Sterling to stay put|
|Pardew calls for calm ahead of derby clash|
|Kerala Blasters v Atletico de Kolkata: Luis Garcia talks up team ahead of final|
|Monk wants three new Swansea signings|
|Koeman plays down Sneijder link|
|Howard targets another World Cup|
|Inzaghi prepared for Stadio Olimpico atmosphere|
|Toronto expect Defoe to return|
|Rodriguez suffers injury setback|
|Klopp denies Dortmund departure plans|
|Copa del Rey Review: Bilbao and Elche edge through, Madrid derby beckons|