Inter secured Champions League qualification in the most dramatic fashion as Luciano Spalletti's men came from behind to beat 10-man Lazio 3-2 on Serie A's final day.
Lazio only needed to avoid defeat in what was effectively a play-off at the Stadio Olimpico on Sunday, but they collapsed incredibly in the closing stages as captain Senad Lulic was dismissed.
Ivan Perisic's remarkable own-goal, an Adam Marusic shot deflecting in off the midfielder's face, gave Lazio the lead, but Danilo D'Ambrosio levelled with an acrobatic effort from close range.
Felipe Anderson's breakaway goal restored the lead and put Lazio in control at half-time, but the Nerazzurri somehow completed a stunning comeback with two goals in three minutes.
Referee Gianluca Rocchi had already changed his mind about one penalty for the visitors following a VAR review when he pointed to the spot after Stefan de Vrij - strongly rumoured to be joining Inter at the end of the season - hacked Mauco Icardi down in the box.
The Inter captain converted and, after Lulic was shown a second yellow card, Matias Vecino headed in Marcelo Brozovic's corner, Simone Inzaghi's men unable to muster a fightback of their own after the coach earlier made defensive changes to leave them fifth and devastated at the full-time whistle.
Icardi mishit an early chance and Antonio Candreva thudded a volley narrowly wide as Inter made a flying start.
Luiz Felipe should have opened the scoring, blazing over when picked out by a low left-wing Ciro Immobile cross, but Lazio led in the ninth minute in freakish circumstances.
Although Samir Handanovic denied rising star Sergej Milinkovic-Savic, Lazio kept the ball alive and when Marusic let fly the ball cannoned in off the face of the helpless Perisic.
Icardi missed a golden chance to level in the 22nd minute, dragging wide after Joao Cancelo's interception and throughball, Milinkovic-Savic denied by the woodwork from a superb free-kick at the other end moments later.
Inter's equaliser was no less dramatic than the opener, Thomas Strakosha keeping out D'Ambrosio's initial effort but unable to stop the full-back turning home the rebound, the goalkeeper's protests that he was fouled falling on deaf ears.
Lazio retook the lead in the 41st minute with a sensational break, Anderson rolling in a superb finish after he and captain Lulic countered at rapid pace to unlock Inter's defence.
Icardi was becoming influential but Anderson rippled the side-netting as Lazio again threatened on the counter, Spalletti's side growing increasingly desperate with their own attacks.
Rocchi awarded Inter a penalty in the 72nd minute after Milinkovic-Savic appeared to handle the ball in the box, but after consulting VAR the referee elected not to award the spot-kick, replays showing the ball hit Serbia international on the shoulder.
100 - Mauro Icardi scored tonight his 100th goal in Serie A for Inter, in 159 games played. Nerazzurro.— OptaPaolo (@OptaPaolo) May 20, 2018
But Rocchi had no choice but to point to the spot when Icardi was hacked down by De Vrij - the Lazio defender having confirmed he is leaving the club at the end of his contract.
The Inter skipper stepped up to slot in past Handanovic and set up a dramatic finale in the capital, Lulic seeing red after losing composure and needlessly bringing down Brozovic.
And when Brozovic floated a corner to the near post, Vecino met it with a glancing header to secure Inter's Champions League qualification at the expense of their heartbroken hosts, who saw substitute Patric sent from the touchline in the dying stages.
Key Opta stats:
- Inter have qualified for the next Champions League; it's the first time for the Nerazzurri since 2011-12.
- Inter have won last three away league games, as many as their previous 12.
- Lazio have picked up only two points in the last three league games, after they had won five of their previous six (1 draw).
- Danilo D'Ambrosio has scored nine of his 11 Serie A goals from corner situations.
|Halep breezes past Barty to set up Tsurenko clash on same day|
|Olesen unable to capitalise on strong start as Jamieson, Waring go clear|
|Hoffenheim tie Kramaric to four-year deal|
|Mina to miss Southampton clash while Gomes is ´weeks´ away|
|Barcelona coach Valverde dismisses Pogba speculation|
|Valverde not prioritising Champions League over defending Barcelona´s LaLiga title|
|Allegri thanks outgoing Juventus icon Marchisio|
|Pants display from Beef? Johnston forced into change of trousers in Sweden|
|Tour champion Thomas has Welsh velodrome named in his honour|
|Gloucester surprised and disappointed by RFU´s swift Cipriani charge|
|Storm skipper Smith´s back injury not ´too serious´|
|Spurs fixture switch doesn´t appeal to Guardiola|
|Brazil call up Andreas Pereira & Arthur but omit Man City stars|
|Mbappe returns to PSG squad, Kehrer set for debut|
|No Messi in Argentina squad as Simeone wins first call-up|
|England man Roy embarrassed by self-inflicted facial injury|
|Atletico Madrid fined for breaching third-party regulations|
|Cipriani charged by RFU after common assault conviction|
|No contact, no negotiation - Leonardo denies AC Milan deal for Milinkovic-Savic|
|Kovacic set for Chelsea debut against Arsenal|
|Fury´s father restrained as Wilder crashes Pianeta weigh-in|
|Kohli and Bumrah fit for win-or-bust Test|
|Stokes ready and desperate to help England, says Root|
|Salah, Mane and Firmino not in competition says Klopp|
|Darmian staying at Manchester United, says Mourinho|
|Guardiola cites fatigue as factor for stricken De Bruyne|
|Kovac approves Rudy departure from bloated Bayern midfield|
|Klopp insists no player leaves without his approval amid Klavan rumours|
|Real Madrid complain to FIFA over Inter´s alleged Modric approach|
|Mourinho ´has never been so happy´ with unsettled Pogba|
|Manly implode amid Barrett uncertainty, Storm´s Smith injured|
|Sarri certain Hazard is staying at Chelsea|
|Liverpool, Champions League, Manchester derby - The matches De Bruyne will miss due to injury|
|Campbell joins Frosinone from Arsenal on permanent deal|
|Schalke sign Lille´s Mendyl to end left-back hunt|
|Stokes back in England team as Curran drops out|
|Ronaldo doesn´t guarantee Juventus the title, warns Allegri|
|Tuchel keen to guide PSG star Mbappe after World Cup heroics|
|Yuri: I can see Neymar joining Real Madrid|
|Milan pounce for Castillejo as Bacca joins Villarreal permanently|
|De Bruyne to miss three months for Manchester City|
|Manchester City talent Arzani completes Celtic loan|
|I know how precious my career is, says regretful Cipriani|
|Paulo Bento named new South Korea coach|
|Milan complete Laxalt deal|
|Poyet suspended by Bordeaux after outburst against board|
|Tuchel will let Neymar and Cavani settle penalties themselves|
|Hooper: We´re ready, bring on the All Blacks!|
|Outstanding Australia deserve our respect - Read|
|Dragons´ Widdop set for Finals return|
|Jamshed found guilty of corruption and banned for 10 years|
|Bennett will not be sacked, insist Broncos|
|Marchisio leaves Juventus|
|The Breakdown: A statistical look at round one of the Rugby Championship|
|Durham sign Bancroft for 2019|
|Wolfsburg to fine Hinds after training no-show|
|Rugby Championship 2018: Team-by-team guide|
|LaLiga 2018-19: Atletico Madrid ready for another title push|
|The big Friday Premier League quiz|
|Mets set franchise record in 20-run victory|
|Poyet threatens to quit after Bordeaux sell Laborde|
|Keys hits 55 winners en route to QFs, Halep claims rain-interrupted match|
|Djokovic-Dimitrov poised as rain wreaks havoc, Del Potro through|
|Tolisso: Pavard to Bayern? I don´t know|
|Ramos: Real Madrid will win again|
|Eagles QB Nick Foles suffers shoulder strain|
|Man City want to dominate English football, warns Walker|
|Golf behind Timberwolves´ draft mishap in 2009? Curry thinks so|
|Puig suspended, Hundley fined for starting Dodgers-Giants brawl|
|Snedeker leads Wyndham Championship with stunning 59|