Ajax Amsterdam followed up their elimination of Real Madrid by producing a spell-binding display of inventive, passing football to win 2-1 away to Juventus on Tuesday.
The win by Ajax ended the Serie A team’s dreams of winning the Champions League.
Ajax’s 19-year-old captain Matthijs de Ligt headed the winner from the corner in the 67th minute of the quarter-final second leg.
The Dutch side came from behind to clinch a 3-2 aggregate win and reach the last four for the first time since 1996/97.
Cristiano Ronaldo, aiming for a fourth successive Champions League title after winning the last three with Real Madrid, put Juventus ahead in the 28th minute.
It was a typically emphatic header, and the Portuguese sixth goal of the competition.
But Donny van de Beek levelled six minutes later before the visitors swept Juventus aside in the second half with wave after wave of attacks as they earned a semi-final against Manchester City or Tottenham Hotspur.
Ajax goalkeeper Andre Onana gave his team an early scare when his clearance was charged down by Emre Can but the rebound flew wide.
Ajax settled well after that but, despite not playing well, Juventus went ahead when Ronaldo got away from the defenders to score the 126th Champions League goal of his career.
There was a long delay for the VAR review, the referee eventually going to the pitchside monitor with the ball back on the centre circle ready for the re-start, before the goal was confirmed.
Ajax kept their cool and took six minutes to level, helped by a somewhat lucky break.
Hakim Ziyech’s long-range shot hit a defender and fell perfectly for Van de Beek who, unmarked and onside, slotted the ball calmly past Wojciech Szczesny.
But the Dutch side had to wait for another long VAR check before the goal was confirmed.
Ajax took complete control in the second half and their geometric passing repeatedly opened up the Juventus defence, which sorely missed injured veteran Giorgio Chiellini.
Szczesny made one-handed save from Ziyech after Juventus were opened up again and then turned Van de Beek’s curling shot over for a corner.
Juventus were rocking but, ironically, Ajax’s winner came from an old-fashioned header as De Ligt outjumped two defenders to score.
Ajax had chances for further goals and Ronaldo’s frustration boiled over in stoppage time when he was booked for a lunging tackle from behind near the centre circle.