Matthijs de Ligt was the hero as Ajax knocked Juventus out of the Champions League with a 2-1 win at the Allianz Stadium.
Cristiano Ronaldo gave the Bianconeri the lead just before the half-hour mark but Donny van de Beek levelled just four minutes later to set up an intriguing second half.
But 19-year-old de Ligt headed home midway through the second half to send the Dutch side through to the last four for the first time since 1995.
Massimiliano Allegri made the bold call to not only recall Paulo Dybala to the starting line-up but make the Argentinian forward his captain, with Giorgio Chiellini still out injured.
But after a scrappy opening, it was Ajax who went closest after a brilliant piece of play from David Neres and Dusan Tadic saw the former’s shot charged down and there was van de Beek to blaze over from close range.
But with their first real opportunity on goal, Juventus took the lead. Miralem Pjanic swung a corner from the right and, escaping from his marker amidst the crowd of players in the middle, Ronaldo powered a bullet header into the bottom corner.
After a VAR check showed Matthijs de Ligt had bizarrely fouled his team-mate, rather than a Bianconeri player, the goal was allowed to stand. For Ajax, it was that sinking feeling of déjà vu after watching the 34-year-old score from a similar header in the first leg.
That feeling wouldn’t last long, however, as the Dutch side began to grow in confidence and soon got the equaliser their performance deserved.
With space and time on the ball, Lasse Schone decided to shoot from 30 yards out and while his effort was speculative more than anything, it found its way to van de Beek, who was the coolest man in Turin to slot past Wojciech Szczesny.
Allegri sent on 18-year-old sensation Moise Kean at the break for Dybala, who picked up a knock but otherwise endured a difficult night, in search of the goal that would put them back in front.
They could have easily conceded a fatal second just seven minutes after the restart but for two world-class saves from Szczesny.
First, Juve lost possession deep in their half and Neres sets off on a blistering run. After finding van de Beek with the cutback, the Dutchman threaded it wide to Ziyech. On his right foot, he powered one towards the top corner but Szczesny made himself big and got a strong hand to it.
Then the former Arsenal man found himself tasked with another big save to make when van de Beek’s curling effort looked sure to be heading for the top corner, but the Pole tipped it over.
He could do absolutely nothing to stop Ajax when they came forward again and this time, the Italians would go behind. Frenkie De Jong whipped in a deep corner and there was de Ligt, rising above everyone, to head home into the corner. A massive moment for the 19-year-old, who is poised to leave the club in the summer.
And it could – and should – have been more as Juve fell apart defensively. Ziyech found Neres with a delightful lob over the top and the Brazilian fluffed his lines from yards out.
Ziyech then thought he’d put the game beyond doubt with a stunning strike into the far corner but he was marginally offside.
They were denied by the flag but no one could deny Ajax were wholeheartedly the deserved winners on the night. The fans had lost their shirts in the celebrations but not their voices. Against all the odds, they were celebrating a first Champions League semi-final in 22 years.