Eric Maxim Choupo-Moting's 93rd-minute strike secured a truly remarkable comeback as Paris Saint-Germain came from behind to beat Atalanta 2-1 and reach the Champions League semi-finals.
Thomas Tuchel's side looked set for another agonising quarter-final exit after Mario Pasalic's 26th-minute strike gave Atalanta a deserved half-time lead at the Estadio da Luz in Lisbon.
- Choupo-Moting hails PSG resolve after 'crazy game'
- Champions League state of play | Fixtures
- How the teams lined up | Match stats
- Get Sky Sports - All channels £23 a month
It appeared they had done enough to secure a famous victory, but Marquinhos levelled matters as the game entered stoppage time before former Stoke City forward Choupo-Moting completed the turnaround with a breathless finish as PSG snatched victory from the jaws of defeat.
The Ligue 1 champions will face either RB Leipzig or Atletico Madrid at the Estadio Jose Alvalade for a place in the final in 11 days' time.
Atalanta: Sportiello (7), Toloi (7), Caldara (6), Djimsiti (7), Hateboer (7), de Roon (6), Freuler (6), Gosens (6), Gomez (7), Pasalic (7), Zapata (6).
Subs: Palomino (6), Muriel (6), Malinovsky (6), Da Riva (6), Castagne (6).
PSG: Navas (6), Kehrer (6), Thiago Silva (6), Kimpembe (6), Marquinhos (6), Sarabia (5), Gueye (6), Ander Herrera (6), Bernat (6), Icardi (6), Neymar (7).
Subs: Mbappe (9), Paredes (7), Sergio Rico (n/a), Choupo-Moting (8), Draxler (7).
Man of the match: Kylian Mbappe.
How unlikely match-winner rescued PSG
It was a crushing blow for Atalanta. Bergamo was one of the hardest-hit places by the coronavirus pandemic in Europe, with more than 6,000 people dying with COVID-19 in the province. They were minutes away from a place in the last four only to be undone by two late goals. But for PSG - so often on the receiving end of dramatic Champions League exits - this was pay-back.
La Dea scored 98 goals in Serie A last season, including seven against three different opponents, and they created their first chance after just three minutes when Duvan Zapata threaded a pass into the path of Alejandro Gomez but his shot was saved low down by Keylor Navas.
Tuchel's side had gone for much of the past five months without competitive action, aside from their victories in the Coupe de France and Coupe de la Ligue, and their lack of match sharpness showed moments later as Neymar was set clean through on goal but the Brazilian fluffed his shot well wide.
PSG's mental issues with the Champions League quarter-finals are well-documented, and that miss seemed to play on the minds of the Parisians as Gian Piero Gasperini's men nearly went in front when Hans Hateboer met Gomez's cross to force Navas into a fine one-handed save after 12 minutes.
Kylian Mbappe was named on the bench for PSG following an ankle injury. There were three changes from their win over Dortmund in the last 16, with the returning Thiago Silva, Mauro Icardi and Ander Herrera in for Leandro Paredes, Edinson Cavani and Angel Di Maria.
Atalanta made two changes from their last Champions League game in March, their impressive 4-3 win in Valencia. Rafael Toloi and Duvan Zapata were in for Jose Luis Palomino and the absent Josip Ilicic. Mario Pasalic got the nod over Ruslan Malinovskiy.
The Ligue 1 champions certainly would not have faced a side with the same aggression and unique system of Atalanta, and their level of unpredictability was on show as Pasalic duly steered them in front. The ball broke free to the Croatian after a challenge by Zapata on Presnel Kimpembe, and the former Chelsea midfielder curled his shot confidently beyond Navas.
Neymar showed glimmers of brilliance but then moments of ineptitude as he missed another glorious chance to level before the break as he latched onto Hateboer's poor backpass but horribly sliced his effort high and wide.
Tuchel, who sat on a cooler for much of the match sporting a protective boot, leapt from his seat and used his crutches to march swiftly down the tunnel at half-time knowing his side would need a vast improvement upon the restart.
But there were few signs of an equaliser for large parts of the second period as Atalanta nearly doubled their lead when Remo Freuler's cross was flicked on by Pasalic for Berat Djimsiti to slice his effort wide.
Kylian Mbappe made an instant impact upon his introduction on the hour-mark as he took Leandro Paredes' pass to force a smart save by Marco Sportiello.
Gasperini's back three was increasingly becoming a back five as Tuchel looked to Choupo-Moting with 10 minutes remaining at the same time that his goalkeeper Navas was forced off with an injury and replaced by Sergio Rico.
PSG looked like they had run out of ideas but as the fourth official indicated five additional minutes, it was the former Stoke forward whose cross found Neymar onside at the far post, and his brilliant control and cutback allowed Marquinhos to stab home via a deflection off Mattia Caldara.
Atalanta were out on their feet and with Remo Freuler a virtual passenger due to an earlier injury, PSG made the extra man count 149 seconds later as Neymar found Mbappe on the overlap down the left to allow Choupo-Moting to complete the most unlikely of comebacks.
What the managers said
PSG boss Thomas Tuchel: "I had the feeling that we closed it [the mental block in the Champions League] with the second match against Dortmund.
"It was this famous 'we cannot reach the quarter-finals' thing and suddenly we had a bad first game and a lot of bad news before the second leg, but we turned it around with no spectators.
"We are very happy to be part of it [this moment in the club's history]. People from outside don't realise how hard it is to reach all these goals, even if it seems easy with a good team and a big squad. But it's a big effort and it's a very big step for all of us."
Atalanta boss Gian Piero Gasperini: "I can only thank my players. We were so close, really close. The details make a difference in the Champions League. Some set pieces, a few moments, situations - the details that determine who progresses and who doesn't.
"The introduction of Mbappe was decisive. There was not long to go and it seemed we had done it but when you play against some of the strongest in the world at a technical and athletic level then it becomes tough."
Man of the match - Kylian Mbappe
Thomas Tuchel blew out his cheeks at the final whistle and he will know how important it is for Mbappe to be fit for the forthcoming semi-final.
An ankle injury had meant he was only fit to play 30 minutes, and Tuchel's side were short on ideas prior to the Frenchman's arrival.
While he didn't get on the scoresheet himself, he was the catalyst to the comeback. It was his speed of thought to create the overlap that led to PSG's winner.
With Neymar having an off night in front of goal, it was for nights like these why Mbappe was bought.
Fifty-six per cent of PSG's shots in this match came in the 30 minutes Mbappe was on the pitch (9/16), with no player having more attempts on target than the Frenchman (two).
Winning the French league certainly wasn't enough for previous managers Carlo Ancelotti, Laurent Blanc and Unai Emery when they failed to add Champions League success to domestic domination.
Wednesday marked the club's 50th birthday, but the Champions League remains elusive for France's most successful club.
La Dea's fairytale run comes to end - Opta stats
- Paris Saint-Germain have reached the Champions League semi-finals for the first time since the 1994-95 campaign.
- Excluding games that went to extra-time, Atalanta are the fourth team to be leading a Champions League game coming into the 90th minute and lose, after Bayern Munich v Man Utd (1998-99 final), Chelsea v Bayern Munich (2004-05 quarter-final) and Malaga v Borussia Dortmund (2012-13 quarter-final).
- There were just two minutes and 29 seconds between PSG's equalising and winning goals.
- Atalanta have scored the opening goal in seven different Champions League games this season, more than any other side in the competition.
PSG advance to face either RB Leipzig or Atletico Madrid at the Estadio Jose Alvalade in Lisbon on Tuesday.
Manchester City or Lyon vs Barcelona or Bayern Munich (August 19, Estadio da Luz)
RB Leipzig or Atletico Madrid vs Paris Saint-Germain (August 18, Estadio Jose Alvalade)
Sunday August 23 (Estadio da Luz)