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'
|FFA hands Wanderers fine and suspended points deduction|
|Luis Enrique: I had to give my voice a rest|
|Silva: I was not kicked off Marseille team bus|
|Blanc could sign PSG renewal by end of week|
|PSG drawn against familiar foes Saint-Etienne in Coupe de France|
|Neville confident Valencia fans will be back|
|Guardiola praises beaten Bochum|
|Coupe de France Review: Ibrahimovic sends PSG through, Nantes win thriller|
|I love penalties - West Brom´s shootout hero Foster|
|Ross County 0 Hearts 3: Dauda dazzles in valuable victory|
|Bayern Munich avoid Borussia Dortmund in DFB-Pokal semi-finals|
|FC Heidenheim 2 Hertha Berlin 3: Ibisevic at the double in DFB-Pokal|
|Hart: We will fight for Pellegrini all the way|
|Peterborough United 1 West Brom 1 (aet, 3-4 on pens): Foster spares Premier League team´s blushes|
|Paris Saint-Germain 3 Lyon 0: Ibrahimovic fires holders into last eight|
|Valencia 1 Barcelona 1 (1-8 agg): Kaptoum breaks record with late leveller|
|Bochum 0 Bayern Munich 3: Lewandowski double helps book semi-final spot|
|Colour clash forces Stoke to produce new kit|
|Hernandez to miss Darmstadt match with muscle injury|
|Stoichkov backs ´smart guy´ Neymar to stay at Barcelona|
|FSG´s letter of apology to Liverpool fans in full|
|Huracan bus overturns following Copa Libertadores clash|
|Liverpool scrap ticket price increases following fan backlash|
|Oviedo hopeful of new Everton contract|
|Zoff: Juventus-Napoli a Scudetto match|
|Bolton chairman Phil Gartside dies aged 63|
|Palermo turn to Bosi after Barros Schelotto exit|
|Ben Arfa considered retirement from football during exile|
|Bilic: We paid the price for cup progress|
|Griezmann happy to stay at Atletico|
|Wales to face Sweden in final Euro 2016 warm-up|
|Varela hopeful of long United career|
|Ki: I had ice on my face for two days|
|Niasse settling in well, could face West Brom - Martinez|
|Stevens leaves Hoffenheim on health grounds and retires|
|Diaby nearing return after near 18-month lay-off|
|Nasri would love to finish career at Manchester City|
|Captain Howedes extends Schalke stay|
|M´Vila keen to stay if Sunderland survive|
|Johnson admits child sex and grooming charges|
|Amazing Mahrez is one of Premier League´s best - Ulloa|
|Ronaldo, Messi rivalry good for football - Zidane|
|Barros Schelotto leaves Palermo|
|Age is just a number - Ilori defends Klopp´s team selection|
|Messi, Suarez and Neymar rested for Copa second leg|
|Madrid can dream of trophies under Zidane - Raul|
|Ancelotti: Italy job is a decade away|
|Reus will become a monster, says Dortmund boss Tuchel|
|Young Tottenham stars don´t know their limits - Lloris|
|Niang happy at Milan despite Leicester interest|
|Ticket price rise means more tourist fans, warns football supporters chairman|
|Ogbonna revels in first West Ham goal|
|Copa Libertadores Review: Huracan, River Plate advance to group stages|
|Klopp backs Benteke to rediscover goalscoring form|
|Turan will not leave Barca for China - agent|
|Beating Chelsea more difficult without Mourinho - Motta|
|Tuchel praises Dortmund for ´perfect game´|
|Klopp rues Liverpool wastefulness in FA Cup loss|
|Allegri: Chelsea rumours unfounded|
|Bilic feels weight of history after Liverpool win|
|Coupe de France Review: Second tier Sochaux stun Ligue 1 Monaco|
|West Ham 2 Liverpool 1 (aet): Ogbonna sinks Klopp´s men in cup thriller|
|Football League Review: Rhodes rescues a point to send Boro top|
|Stuttgart 1 Borussia Dortmund 3: Aubameyang helps Tuchel´s men into last four|
|Kyle Allen blames chaotic Texas A&M culture on Johnny Manziel era|
|Dortmund fans stage protest against ticket prices for Stuttgart game|
|Bayer Leverkusen 1 Werder Bremen 3: 10-man hosts dumped out|
|Ferdinand fears title wilderness for United|
|Carvalho lands new Sporting deal with €45m buy-out clause|
|Ben Arfa out for at least four weeks with hamstring injury|
|Neville´s Valencia woes welcomed by Crespo|
|Ozil key to Arsenal´s title hopes - Rosicky|
|Zika threat could keep Solo from Rio Olympics|
|Blanc pleased to have solved David Luiz matter|
|Atletico midfielder Partey suffers thigh strain|
|Dickov: Leicester title run built to last|
|Guardiola not a menace for our players, says Luis Enrique|
|Mexico v Senegal: Osorio believes in youngsters|
|Celta Vigo v Sevilla: Krohn-Dehli not taking Copa del Rey final for granted|
|Madrid confirm Marcelo shoulder dislocation|
|Injury rules Chiellini out of crucial Juve games|
|Oblak extends Atletico deal|
|Blanc hints PSG could move for Ben Arfa|
|Luis Enrique urges Neymar to cope with off-field distractions|
|Carrick: Manchester United not throwing in towel|
|Neville determined to turn things around at Valencia|
|Guardiola hails Lewandowski professionalism amid Real Madrid and PSG rumours|
|Guardiola wary of ´aggressive´ Bochum|
|Premier League reveals new logo|
|West Ham open Payet contract talks|
|I could leave Barcelona for Guardiola, says Busquets|
|Giggs can be Manchester United´s Guardiola - Robson|
|Zidane has everything to become a great coach - Ancelotti|
|Carragher: Liverpool got it wrong on ticket prices|
|Neymar will be at Barcelona for years, claims director|
|Eder talks up Inter´s Scudetto chances|
|Larsson: Watching Barca is like playing FIFA|
|City recruit Wilkinson hoping to debut in Melbourne derby|
|Allegri will join Chelsea, says former coach|
|Zanetti: No need to compare Maradona and Messi|
|Vardy: I never expected Leicester to top Premier League|
|Capello: Ronaldo has at least three years at the top|
|Klopp hoping for Sturridge revival|
|Bilic wants new contract to keep Payet at West Ham|
|Shelvey can be as good as Cabaye - Sissoko|