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.