Ajax reached the Champions League semi-finals for the first time in 22 years after coming from behind to beat Juventus 2-1 at the Allianz Stadium, to prevail 3-2 on aggregate.
Cristiano Ronaldo headed in his 126th goal in the competition after 28 minutes before Donny van de Beek levelled six minutes later, with both goals allowed to stand following VAR review.
Juventus were forced to replace Paulo Dybala with Moise Kean at the start of the second half, but it was Ajax who seized control as Matthijs de Ligt rose to power home Lasse Schone's corner, leaving Juventus needing two goals in the final 23 minutes.
Ajax had the chance to kill the contest but Hakim Ziyech's shot was ruled out for offside. However, Erik ten Hag's side were good value for their victory - and will face either Manchester City or Tottenham for a place in the final.
Juventus: Szczesny (7), De Sciglio (6), Bonucci (6), Rugani (6), Alex Sandro (6), Pjanic (7), Matuidi (6), Emre Can (6), Bernardeschi (7), Dybala (5), Ronaldo (6).
Subs: Kean (6), Cancelo (6), Bentacur (n/a).
Ajax: Onana (6), Veltman (7), De Ligt (9), Blind (7), Mazraoui (5), De Jong (7), Schone (7), Van de Beek (8), Ziyech (8), Tadic (8), Neres (7).
Subs: Sinkgraven (6), Huntelaar (n/a), Magallan (n/a)
Man of the match: Matthijs de Ligt.
De Ligt shows his immense promise
The Dutch giants won the third of their four European Cups when they defeated Juventus in 1973 with a side that boasted Johan Cruyff in Belgrade, but on a night when Ajax underlined their credentials as winners of this year's competition, De Ligt provided another demonstration of his immense promise.
Juventus made three changes from the side that drew 1-1 in Amsterdam. Mario Mandzukic dropped out with Paulo Dybala selected up front. Emre Can returned in place of Rodrigo Bentancur and Mattia De Sciglio was in for Joao Cancelo.
Ajax made just the one change from the first leg as Nicolas Tagliafico dropped out at left back and Noussair Mazraoui returned.
As a side, Ajax - who were 250/1 outsiders to lift the trophy in Madrid back in September - brought the perfect game plan to nullify their opponents, with Hakim Ziyech, Dusan Tadic and David Neres providing a constant outlet on the counter-attack.
But it was Juventus who took the lead against the run of play as Miralem Pjanic's corner was headed in by Ronaldo. Referee Clement Turpin consulted his VAR officials after Joel Veltman fell inside the box, but it was his own team-mate De Ligt who was the perpetrator.
The goal did nothing to change Ajax's mentality, largely as they knew they needed to score at the start of the night, and they duly levelled as Van de Beek controlled Ziyech's shot before sliding his effort beyond Wojciech Szczesny. Referee Turpin again checked - to see if the Ajax midfielder was offside - but there had been no infringement.
Juventus were visibly rattled by the setback, and not even Massimiliano Allegri's half-time team talk could turn the tide as Ziyech's shot was brilliantly saved by Szczesny eight minutes into the second half after Neres had found him in space on the counter-attack.
Kean was found by Ronaldo on the hour-mark, but the young forward was unable to test Andre Onana with his shot - and it would prove a costly miss as Ajax made their dominance count.
De Ligt had been imperious in keeping Ronaldo subdued, and the 19-year-old then rose to meet Schone's cross to head in Ajax's second, sparking wild scenes of celebration among the 2,000 travelling supporters, buoyant after witnessing another complete performance from this brave, young Dutch side.
Man of the match - Matthijs de Ligt
It takes something special to stop Ronaldo in his search for a fourth straight Champions League honour, but the serial winner came up against the Dutch wall on Tuesday.
De Ligt's stock continues to rise, and it is easy to see why Barcelona are keen to add him to the signing of Frenkie de Jong this summer.
This was his first Champions League goal, but he may never score a more important one, as he produced a superb header to cap a majestic display.
- Ajax have qualified for the semi-finals of the European Cup/Champions League for the ninth time in their history, and the first since the 1996-97 season.
- Ajax are the first team from outside the traditional top five European leagues to reach the Champions League semi-final since 2004-05, when fellow Dutch side PSV Eindhoven did so.
- Juventus have lost two home games in a single European Cup/Champions League campaign for the first time in their history (1-2 v both Manchester United and Ajax).
- Ajax have scored 155 goals this season across all competitions, their joint-most in a single season in club history (also 155 in 2009-10).
- This was Ajax's third consecutive away win in the Champions League; their longest such streak since between November 1995 and March 1997 (seven wins).
- Juventus striker Cristiano Ronaldo has scored 126 goals in the Champions League, with 65 of those coming in the knockout stages; both the most of any player in competition history.
- Juventus' Cristiano Ronaldo has netted nine goals against Ajax in the Champions League - only against his current club Juventus (10) has he scored more against a single opponent in the competition.
- This season will be the first Champions League season not to feature Juventus' Cristiano Ronaldo at the semi-final stage since 2009-10, when he was eliminated at the Last 16 stage with Real Madrid.
Juventus host Fiorentina on Saturday hoping to wrap up the Serie A title while Ajax travel to face Groningen on the same day in the Eredivisie.