Holders Spain beat the Netherlands on penalties after a dramatic quarter-final second leg in Valencia finished 3-3 on Sunday to set up a Nations League last-four clash with France, who edged Croatia in a shoot-out after a 2-2 aggregate draw.
On a dramatic night, Portugal battled past Denmark in extra time and will next face Finals hosts Germany after their tense 5-4 aggregate victory over Italy.
European champions Spain took the lead in the tie, after Thursday’s 2-2 first-leg draw, when Mikel Oyarzabal picked himself up after being fouled in the box to slot home an early penalty.
The Netherlands equalised nine minutes into the second half as Memphis Depay also won and then netted a spot-kick.
Oyarzabal grabbed his second in the 67th minute after a strong run forward by Nico Williams, only for the Dutch to level again with 11 minutes remaining through Ian Maatsen’s fierce strike.
Lamine Yamal struck shortly before the interval in extra time, though, curling the ball into the far corner after a couple of superb touches.
There was yet another twist as Spain goalkeeper Unai Simon brought down Xavi Simons, who picked himself up to score.
Spain edged home 5-4 in the shoot-out despite a miss from Yamal, as Simon saved from Netherlands winger Donyell Malen and Pedri struck the winning penalty.