A day after Liverpool beat Barcelona 4-0 to overturn a 3-0 first-leg deficit, Tottenham came back from the dead after Ajax had looked certain to reach their first final for 23 years.
Ajax skipper Matthijs de Ligt’s fifth-minute header and a superb 35th minute effort by Hakim Ziyech put Ajax 3-0 ahead on aggregate by halftime at a raucous Johan Cruyff Arena.
But Tottenham were transformed after the break as they became the eighth English club to reach the European Cup final, where they will face Liverpool in Madrid on June 1.
With veteran Spanish striker Fernando Llorente on as a second-half substitute, Tottenham refused to lay down and when Moura scored in the 55th minute the impossible began to seem possible for the north London club.
Four minutes later he fired through a crowd to equalise on the night and after both sides hit the woodwork in the heart-pumping finale, Moura drilled into the corner in the sixth minute of stoppage time to leave Ajax crestfallen.
“Football gives us moments we can’t imagine,” Moura, who scored the goal in Barcelona in the final group game to keep Tottenham alive in the competition, said.
Tottenham’s only other European Cup semi-final came 57 years ago when they lost to Benfica and their improbable victory left the away fans in a state of delirium and Argentine manager Mauricio Pochettino in tears at the end.
“The emotion is amazing, thank you to football,” Pochettino said. “My players are heroes — in the last year I was telling everyone this group are heroes.
“They are all heroes but Lucas Moura was a superhero.”
Tottenham had suffered three consecutive defeats in all competitions before Wednesday’s second leg and when Ajax led 2-0 at halftime, there was a celebratory mood inside the jam-packed Johan Cruyff Arena as their fans’ thoughts turned to Madrid.
But their joy turned into a nightmare as they were overwhelmed by a Tottenham side who dispensed with complicated tactics and simply threw the kitchen sink at their hosts.
“Football can be very beautiful and it can be very cruel, we have had to experience that today,” Ajax manager Erik Ten Hag said.
Ajax got off to a dream start as captain De Ligt took advantage of poor marking to head past Hugo Lloris.
Tottenham responded in spirited fashion with Son Heung-min deceiving keeper Onana with a cross that hit the post.
But Ajax were cool, calm and collected and bided their time before striking again in devastating fashion.
Tadic, who moments earlier had dragged a shot just wide, was released down the left and he cut the ball back perfectly for Ziyech to whip a left-footed shot inside the far post.
Only one of the 17 teams to lose the first leg of a Champions League semi-final at home had ever come back to win.
But with Llorente on for Victor Wanyama, Tottenham went for the direct approach after the break and Ajax were rattled.
Moura converted in the 55th minute, sliding home after running on to Dele Alli’s pass and four minutes later, after Onana had made a remarkable save to dent Llorente, the Brazilian showed great footwork to thread a shot through a crowd.
It set up a rip-roaring finale with Tottenham pressing for the winning goal and Ajax looking to counter-attack.
Ziyech shot against the post, then Tottenham’s former Ajax defender Jan Vertonghen headed against the crossbar with the goal gaping before Lloris’s save kept Spurs alive.
Lloris went up for a corner in stoppage time but it was Moura who proved Tottenham’s hero, producing a clinical finish from Alli’s flick.