Spain and Netherlands drew 2-2 in the first leg of their quarter-final tie at De Kuip after Mikel Merino scored in injury time to rescue the defending Nations League champions.
La Roja started the second leg off in a strong fashion as they dominated possession before Mikel Oyarzabal was fouled in the box by Jan Paul van Hecke. The Real Sociedad star slotted the penalty past Bart Verbruggen to put Spain ahead on aggregate. Nico Williams then had two gilt-edge chances to double Spain's lead but Verbruggen's sublime saves kept the game 1-0 at half-time.
It was the Netherlands who started all guns blazing in the second half as Unai Simon was called into action from a Justin Kluivert shot, keeping it out brilliantly. Memphis Depay then emulated Oyarzabal to win a penalty and score it to bring Ronald Koeman's side level on aggregate.
However, Spain regained control soon after Depay's equaliser and a sensational run from Williams resulted in an assist for Oyarzabal's second goal. However, La Roja were caught on their heels just 10 minutes later as Xavi Simon found debutant Ian Maatsen, who smashed the ball home to take the game to extra-time with the scoreline locked at 4-4 on aggregate.
The first half of extra time saw a very cagey yet cautious approach from both sides. However, Spain took the lead yet again thanks to a moment of magic from Lamine Yamal, who curled the ball into the far corner after a delightful touch to bring down Dean Huijsen's long ball in behind. The Netherlands kept fighting, though, and got their reward when Xavi Simons won a penalty and converted it to force a shootout.
Spain eventually won the penalty shootout 5-4 after six takes each. The shootout went to sudden death after Noa Lang and Yamal missed their respective spot kicks before Donyell Malen missed for the Netherlands, which allowed Pedri to score the winner for La Roja.