Spain headed to the European Championship final after claiming a 2-1 victory over France on Tuesday.
Randal Kolo Muani's header put France 1-0 ahead against Spain in the ninth minute, assisted by Kylian Mbappe at the Munich Football Arena.
Spain leveled the semifinal when Lamine Yamal made a classy long-range finish in the 21st minute.
Yamal, at the age of 16 years and 362 days, became the youngest-ever goal scorer in the history of the European Championships.
After four minutes, The Spaniards took the lead with a close-range finish from Dani Olmo.
There was a surprise in Munich when Mbappé took to the field without the mask he has been wearing since getting his nose broken in France's opening group game at Euro 2024.
Mbappé had been complaining the mask was impeding him, and ditching it appeared to have an immediate effect as he created the game's opening goal in the ninth minute with a tantalizing cross to the back post that was headed in by Randal Kolo Muani.
That was the first goal France had scored at Euro 2024 that wasn't a penalty or an own-goal. Fortunately for Les Bleus they had also been exceptional at the back, allowing just one goal, a retaken penalty by Poland's Robert Lewandowski in the group stage.
But there was no stopping Yamal's stunning equalizer in the 21st minute as he became the youngest player ever to score at a men's European Championship - or World Cup - when he curled the ball past Mike Maignan and in off the left post from 25 yards.
And Spain turned the match around completely four minutes later when Olmo's goalbound-shot was turned into his own net by France defender Jules Koundé. It was originally adjudged by UEFA to have been an own-goal but was later awarded to Olmo.
"We are very close, just one more step to go. It is incredible what the team is doing. We deserve to be in the final, one step from glory," Olmo said. "Whether it is my goal, or Koundé's, it doesn't matter. A goal is a goal. The important thing is that we are in the final."
France dominated possession in the second half but couldn't make it count.
Théo Hernández should have done better when he blazed a good chance over the bar late on, and Mbappé did similar with four minutes remaining.
Spain could have been further ahead between those chances as another powerful strike from Yamal flew narrowly over the crossbar.