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'
|Verratti: I always tell Ibrahimovic to stay at PSG, but he never answers!|
|Marcelino unimpressed by Klopp celebrations|
|Merson wants Koeman at Arsenal|
|´I would not like to be him for one second in my life´ - Klopp slams Marcelino|
|Allardyce: We cannot lose our cool like Tottenham|
|Rashford reminds me of me – Ronaldo|
|£170m windfall for winners of Boro-Brighton clash|
|Martinez: Leicester have not changed English football|
|Marcelino: Liverpool pushed the boundaries|
|City struggled to cope with semi-final occasion - Bale|
|Mahrez wants Leicester stay, says vice-chairman|
|Shakhtar deserved more - Lucescu|
|Klopp hails Liverpool players after ´wonderful night´|
|Sturridge all smiles after returning to lead Liverpool into final|
|Reaching the Europa League final again is a dream - Gameiro|
|Sevilla 3 Shakhtar Donetsk 1 (5-3 agg): Gameiro brace books holders´ third straight final|
|Liverpool 3 Villarreal 0 (3-1 agg): Anfield comeback sends Klopp´s men into final|
|Bologna v Milan: De Sciglio targeting European qualification|
|Leicester players ´love each other´ - vice-chairman Srivaddhanaprabha|
|Simeone rates all-Madrid Champions League final as ´50-50´|
|Eintracht Frankfurt v Borussia Dortmund: Tuchel´s men hope to extend title race|
|Crystal Palace v Stoke City: League points the priority for Pardew|
|Gray determined to prove himself at Leicester|
|Inter v Empoli: Kondogbia wants to end San Siro drought|
|Norwich City v Manchester United: Van Gaal gives United no excuses|
|Olic brands Guardiola a failure|
|Pardew seeks Leicester inspiration for FA Cup final|
|Atletico boosted by Tiago return|
|Casillas rules out Miami switch|
|Sunderland v Chelsea: Larsson eyes crucial victory|
|Dyke confirms Spurs set for Wembley stay|
|West Ham v Swansea City: Payet credits Bilic for impressive Hammers form|
|Fellaini must learn to control himself - Van Gaal|
|Kaka omitted from Brazil´s Copa America squad|
|Gazelec Ajaccio v Paris Saint-Germain: Relegation-threatened hosts eye vital win|
|Leicester City v Everton: Ranieri ready to celebrate remarkable title triumph|
|Stoke´s Joselu slams Toure and Manchester City|
|´We are the champions´ - Shaq sends musical congratulations to Northampton|
|Huth and Fellaini handed three-match bans|
|Lee set for Crystal Palace fine after Pardew remarks|
|AFC Bournemouth v West Brom: Howe feared injuries would curtail Premier League dream|
|Ranieri will not ´break´ Leicester dressing room with star names|
|Pepe: Benitez told me I was not needed|
|Ingolstadt v Bayern Munich: Title in sight for Guardiola´s men|
|Mahrez 50-50 to stay at Leicester - agent|
|Tough to emulate ´inspirational´ Leicester, warns Martinez|
|Bendtner in training at FC Copenhagen|
|Aston Villa v Newcastle United: Wijnaldum demands result to keep survival bid alive|
|Ibrahimovic could make sensational San Siro return - Raiola|
|Obertan, Marveaux released by Newcastle|
|Jovetic wants Toure, Zabaleta at Inter|
|Ramos admires Champions League final rival Simeone|
|Gotze too nice for Bayern Munich ´sharks´ - Augenthaler|
|Bale hits back at Pellegrini ´lucky´ claim|
|Jovetic desperate to earn Inter stay|
|Lucky Madrid no better than Man City - Pellegrini|
|Ferdinand slams City´s lack of desire in Champions League exit|
|Kroos: Madrid have more quality than Atletico|
|Keane: United lack character|
|Klopp: Villarreal in for tough time at Anfield|
|Copa Libertadores Review: Nacional advance to quarters, River eliminated|
|PFA chief wants Leicester stars to be honoured|
|Argentina recall Tevez for initial Copa America squad|
|Keane focused on the Republic of Ireland, not Celtic|
|Ronaldo reiterates desire for Zidane to continue as Madrid coach|
|Keane: City need to improve to win Champions League|
|Falcao left out of Colombia´s Copa America squad|
|Carragher: Sturridge must start against Villarreal|
|De La Hoya´s clanger: ´Whoever thought Leicester would win the UEFA Cup?´|
|Marotta: City asked, but it´s not time to sell Pogba|
|Marcelino wants to turn Anfield atmosphere in Villarreal´s favour|
|Marcelo calls for La Liga focus after Madrid reach Champions League final|
|Origi hopeful of returning before season´s end|
|Madrid were the better side, insists Ronaldo|
|Mangala: City should be proud of semi-final run|
|Madrid move motivated by Champions League glory, says Bale|
|We will leave our soul in the final - Ramos|
|Hart left broken by ´very lucky´ Madrid goal|
|Zidane hails victorious Madrid|
|Pellegrini disappointed to miss out in tie of few chances|
|Real Madrid 1 Manchester City 0 (1-0 agg): Zidane´s men set up 2014 final repeat|
|Lucescu: Shakhtar ready for hardest fight|
|´Benteke cost almost Villarreal´s budget!´ - Marcelino expects major Liverpool test|
|AFC Champions League Review: Big-spending Jiangsu Suning dumped out|
|Kompany off injured in Champions League semi|
|Ter Stegen: I want to stay at Barcelona|
|Vardy will thrive for England at Euro 2016, says Smith|
|Lemina eyes key role at Juventus|
|Cerezo hits back at Vidal´s ´ugly´ swipe|
|Bacca happy at Milan without European football, says agent|
|Long backs Saints to end Spurs hoodoo|
|West Ham´s Sullivan labels Leicester lucky|
|Alba admires Atletico team work|
|Ranieri deserves an honour - Italian prime minister|
|Klopp bullish ahead of semi-final showdown|
|Ranieri´s 96-year-old mother: Now my son is King of England|
|Lovren: Europa League final would save Liverpool´s season|
|BREAKING NEWS: Dembele set for long FA ban over Costa altercation|
|AC Milan ultras call for Galliani´s head over ´blatant mockery´ of fans|
|Emery wants ´inspired´ Konoplyanka in Europa League semi-final|
|Wendell Lira blames Puskas Award trip for club woes|
|Joe Cole in line for Tampa Bay Rowdies move|
|Fuchs: I could kiss Hazard after title-clinching goal|
|Hiddink turned down Leicester before Ranieri appointment|
|Arsenal did not hold their nerve in title race - Smith|
|Cazorla targets City comeback for Arsenal|
|Webb could face lifelong ban as FIFA opens proceedings|
|Smith backs Leicester to become Premier League ´force´|
|Toni to retire after Juventus clash|
|Iwobi reveals key to dream Arsenal rise|
|Allen expects to reach Europa League final|
|McLeish leaves Zamalek after 65 days|
|Football fans pile bets on Burnley to win Premier League after Leicester´s shock success|
|Ranieri: Rich teams will win for next 10 to 20 years|
|Pity we could not reward Guardiola for his three years, says Bayern captain Lahm|
|Madrid revenge no factor for Simeone|
|Copa Libertadores Review: Pumas UNAM, Atletico Nacional advance to quarter-finals|
|Adelaide want Leicester City friendly|
|Tottenham have proven critics wrong - Eriksen|
|Ferdinand ´turned on´ by Simeone´s Atletico|
|Wilson hoping Brighton experience enough for United|
|Griezmann urges team-mates to keep feet on the ground|
|We´ve learned from past errors - Fernandinho|
|Payet cleans up West Ham awards|
|´We don´t need superstars´ - Ranieri|
|Vidal: Bayern are still the best in the world|
|Guardiola: I have given my life to Bayern|
|Simeone: Atletico have eliminated two of the world´s three best teams|
|Leicester owner reveals Vardy signing doubts|
|Bayern feel cheated, says Rummenigge|