Les Bleus could not have wished for a better start to their fourth semi-final in five major tournaments, as the maskless Kylian Mbappe stood the ball up for Randal Kolo Muani to head in at the far post.
Just as it seemed as though France were in control, Yamal produced a spectacular long-range strike to become the youngest player to score in European Championship history.
Dani Olmo, who had replaced the injured Pedri in the lineup, then completely turned the game on its head, manoeuvring the ball to create the space to unleash a shot which found the net with the slight assistance of Jules Kounde.
France created a couple of chances to pull level, including a late Mbappe strike which flew over the crossbar, but Spain ultimately dug deep to protect their lead and seal their spot in Sunday's final in Berlin.
Yamal produces record-breaking strike
The momentum built by France's impressive start was quashed by a piece of magic from the left foot of Spain's teenage superstar.
In the 21st minute, Yamal picked up the ball around 25 yards out, before moving it right and then back to his favoured left side, which created the space for him to curl an unstoppable shot in off the post.
Not only did he become the youngest player to score at the European Championships, but he also became the youngest player to score at either the Euros or the World Cup.
At 16 years and 362 days, Yamal surpassed the record which was previously held by Brazilian legend Pele, who scored at the World Cup at the age of 17 and 239 days.
Olmo eyeing Golden Boot
Olmo was only presented with a starting opportunity after Pedri sustained an injury in the quarter-final success over Germany.
After scoring in the last two matches, Olmo found the net in the 25th minute to continue his impressive run of form.
The RB Leipzig attacker controlled William Saliba's defensive header, before shifting the ball onto his right foot to drive a low shot towards goal.
Kounde attempted to block the driven strike, but the Barcelona defender could only divert it into the net, ensuring Spain could celebrate their second goal in four minutes.
Olmo is now leading the Golden Boot race alongside Cody Gakpo, Georges Mikautadze, Jamal Musiala and Ivan Schranz, but the Spaniard has the edge because he has registered more assists.
How did Mbappe perform?
Mbappe had played the last three matches with a face mask after suffering a broken nose in the opening game against Austria.
The mask appeared to have an adverse effect on the forward's performance, so he decided to ditch it for the crucial semi-final encounter.
The Real Madrid summer signing made a positive start to the contest, producing an inviting cross for Kolo Muani to head France into an early lead.
However, his performance dipped off as the game progressed, and he would have been disappointed to spurn a promising late chance to pull his side level.
What next for Spain and France?
Spain will now travel to the German capital of Berlin, where they will have the chance to win a fourth European Championship title.
Having won all six of their matches at Euro 2024, La Roja will likely be the favourites for Sunday's final against either England or the Netherlands.
Meanwhile, France will have to wait at least four more years to win the European Championship for the first time since 2000, while it remains to be seen whether Didier Deschamps will still be in his post for the next major tournament, the 2026 World Cup in the USA, Canada and Mexico.
More to follow.