Ajax took a huge step towards securing a place in the Europa League final with a magnificent 4-1 win over Lyon at the Johan Cruyff ArenA.
Bertrand Traore, Kasper Dolberg and Amin Younes did the damage for Ajax – on-loan Chelsea man Traore scoring in each half – as Hakim Ziyech's sublime left foot supplied three assists.
Mathieu Valbuena gave Lyon hope with an away goal midway through the second period, but that only encouraged Ajax and the Ziyech-Traore combination in particular to bring the house down with number four 19 minutes from time.
It was a vibrant display from Peter Bosz's youthful side, who delighted a sold-out crowd in Amsterdam on the club's first appearance in a European semi-final for 20 years.
After a bright opening, Lyon were unable to match their swashbuckling opponents for attacking muscle and head coach Bruno Genesio will rue top scorer Alexandre Lacazette being restricted to a substitutes' role following a hamstring injury.
The visitors did start on the front foot and almost led in the 11th minute – Ajax goalkeeper Andre Onana turning behind with his leg after Lucas Tousart's cutback found Maxwel Cornet.
Ajax initially struggled to respond to the promptings of a fervent crowd, but managed to forge ahead after 25 minutes.
Jeremy Morel brought down Dolberg on the right and Hakim Ziyech's left-footed delivery spun past Anthony Lopes via the faintest of glancing touches from Traore.
Younes embarked on a mazy run into the area and Mouctar Diakhaby cut out his ball across the six-yard box for Dolberg as Ajax sought to press home their advantage
Teenage sensation Dolberg did just that in the 34th minute, latching onto Traore's header to punish Lopes' poor clearance with an unerring strike across the goalkeeper and into the bottom-left corner.
Lopes partially atoned for that lapse by getting down sharply to his left, preventing Younes from effectively settling the tie a minute before half-time.
The Germany Under-21 international did not have to wait long after the restart to get his name on the scoresheet.
Ziyech was again the provider four minutes into the second half, slotting a measured pass into Younes' path and his deflected effort squirmed over the line before Lyon could clear.
Playing with ample swagger, Ajax were keen to punish Lyon further and the overworked Lopes saved impressively from Dolberg and Traore, but the visitors had a scarcely deserved lifeline in the 66th minute.
Lasse Schone's poor defensive header was seized upon by Valbuena, who sashayed into space and drove high into the net.
Lyon being in possession of an away goal and needing more further fuelled the thrilling end-to-end feel, while Ziyech lifted over left-footed and Onana came out to thwart Fekir.
That save appeared all the more vital when Ajax netted a stunning fourth – Davy Klaassen lofting a ball down the channel for Ziyech to smash across goal where Traore finished gleefully.
A rasping drive from Lyon full-back Rafael Da Silva was pushed clear by Onana, but Dolberg and Traore continued to helm wave after wave of red and white attacks – the full-time whistle almost coming as a disappointment for Bosz's brilliant youngsters.