Leipzig stunned Atletico Madrid 2-1 on Thursday to reach the Champions League semi-finals for the first time as Tyler Adams’ 88th-minute winner earned them a showdown with Paris Saint-Germain.

Atletico looked to have secured extra-time at the Estadio Jose Alvalade when Joao Felix won and then scored a penalty to cancel out Dani Olmo’s headed opener early in the second half.

But Adams proved an unlikely hero for Leipzig, coming off the bench to snatch victory in Lisbon after his fired effort took a cruel deflection of Stefan Savic and flew in.

The win marks a historic night for Leipzig, who were only formed 11 years ago and played their first-ever season in Germany’s top flight in 2016.

Progress to the last four also puts another feather in the cap of their coach Julian Nagelsmann, whose stock will rise even further after ousting Diego Simeone, one of this competition’s most gnarly tacticians.

“I’m perhaps one of the happiest coaches in the world,” Nagelsmann said.

“We were the better team, the result is totally OK. The second goal is a bit lucky but we found the space behind the defensive line. I think we were the better team today.”

Their challenge is now to defeat PSG on Tuesday, the French champions who have only played three matches in almost half a year and needed a late escape to see off Atalanta on Tuesday.

“It’s normal that when you get to the next round, you want more,” Nagelsmann said.

“Tonight we’re happy. Tomorrow we’ll start looking at Paris. That will be another difficult game but we’ll have a plan.”

‘Hurts a lot’

For Atletico and Simeone, this was an opportunity spurned to go far in Europe at the end of what has been a disappointing season in Spain.

After Real Madrid’s loss against Manchester City, only Barcelona are left to fly the Spanish flag in this tournament and they face a formidable challenge against Bayern Munich on Friday.

Questions will be asked again about the future of Simeone, who has struggled to recreate an Atletico side capable of challenging for major honours.

His notoriously defensive approach, which saw off holders Liverpool in the last 16, looked outdated here against the slick, quick and free-flowing style of their opponents.

“It hurts a lot,” said Atletico’s Saul Niguez. “They had superiority in many areas on the pitch, inside, outside. Many times we were not even close to stopping them.”

A forgettable first half was more worrying for Atletico, who struggled to escape their own half, even if Leipzig never really turned their pressure into any chances.

Marcel Halstenberg had the best opening but lashed over on the volley at the back post while the excellent Dayot Upamecano headed straight into the hands of Jan Oblak when given too much space in the box.

In between, VAR took a long time looking at a possible Atletico penalty but the contact between Peter Gulasci and Niguez’s heel was minimal and the correct decision was made.

Leipzig were still in the ascendancy after half-time. Sabitzer had been captain until he picked up a knee injury in June and it was his perfect cross that created the opener, Olmo nipping in at the front post and heading past Oblak into the far corner.

Simeone threw on Felix to spark his team into life and the 20-year-old made a difference. He played a neat one-two with Diego Costa before poking the ball away from the lunging Lukas Klostermann. Felix went down and then got up to score the penalty.

Atletico owned the momentum but they let it go as the game drifted towards extra-time. Leipzig sensed an opportunity and in the 88th minute, they struck.

The ball was brilliantly switched left to Angelino, whose pulled cross fooled the retreating Atletico defence and landed at the feet of Adams on the edge of the area.

He had time to size up his shot, the finish spinning up off the left foot of Savic and leaving Oblak helpless.