Donny van de Beek and Matthijs de Ligt scored either side of half-time to overturn Cristiano Ronaldo's opener and send the Eredivisie side through to the last four of the competition for the first time since 1997.
The Bianconeri appeared on course to progress after Ronaldo, on target in last week's 1-1 draw in Amsterdam, nodded them ahead in contentious circumstances.
But Erik ten Hag's thrilling young side took command thereafter and collected another high-profile scalp having already ended Real Madrid’s reign in the previous round.
Ajax lost Noussair Mazraoui, deputising for suspended left-back Nicolas Tagliafico, to an early ankle injury and fortune further abandoned them in the 28th minute.
Leonardo Bonucci's arm to the face of a stumbling Joel Veltman went unpunished despite a VAR review, meaning Ronaldo's thumping header from Miralem Pjanic's corner was allowed to stand.
The equaliser arrived in quick time, however. Van de Beek cushioned Hakim Ziyech's shot and, kept onside by Mattia De Sciglio, tucked away the one-on-one opportunity.
Wojciech Szczesny made two excellent saves, first from Ziyech and then Van de Beek, in a one-sided 20 minutes after the interval, yet the goalkeeper could do nothing about De Ligt's commanding header, the teenage defender soaring above Alex Sandro and Daniele Rugani.
David Neres fluffed a golden chance to put the tie beyond doubt and the influential Ziyech had a stunner disallowed for offside as Ajax continued to dominate, with Juve's late appeals for handball against Daley Blind going unheard as the Serie A champions were sensationally knocked out on home turf.
What does it mean? Ronaldo investment fails to pay European dividends
Juve's intention was clear when they paid Madrid a €112million fee for Ronaldo - to win the Champions League for the first time in 23 years.
However, the competition's all-time leading scorer will instead have to wait if he is to lift the trophy for a sixth time in his career.
De Ligt continues to deliver
Such a commanding performance from 19-year-old De Ligt - he made a game-high 10 clearances - has become commonplace despite his tender age. It was fitting that a player seemingly bound for the top of the game scored the winner on such a grand stage.
De Sciglio undermines Juve defence
Ajax's equaliser - and the confidence that coursed through them for the remainder of the contest - might never have eventuated had right-back De Sciglio, starting ahead of Joao Cancelo, not sauntered away from a corner in the first half.
He sleepily kept scorer Van de Beek onside, laying the platform for the away side to build on the equaliser.
Key Opta facts
- 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).
- 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.
- This will be the first Champions League season not to feature Ronaldo at the semi-final stage since 2009-10, when he was eliminated at the last-16 stage with Real Madrid.
- Matthijs de Ligt is the youngest Dutch player to score in a Champions League knockout match (19y 246d) since Nordin Wooter (19y 237d) in April 1996.
They will first look to continue their push for Eredivisie glory - they sit level on points with PSV after 30 games - away at Groningen on Saturday, while Juve have the chance to console themselves by wrapping up the Serie A title when they host Fiorentina on the same day.