A Mikel Merino goal in the last moments of extra time gave Spain a dramatic 2-1 win over host Germany in an enthralling Euro 2024 quarterfinal clash on Friday between the tournament's two most successful nations.
In the other match Friday, France converted all their kicks in a shootout to edge Portugal 5-3 on penalties after a goalless stalemate, likely bringing the curtain down on Cristiano Ronaldo's international career.
The game between Spain and Germany was into the 119th minute and looked set for a penalty shootout when substitute Merino rose to head home the winner from Dani Olmo's cross to decide an eagerly anticipated match that hit a fever pitch as the teams slugged it out at a raucous Stuttgart Arena.
Spain was the better side for the first hour and wasted several opportunities before Olmo gave them a deserved lead six minutes after the break, drilling home a first-time shot into the bottom corner.
Germany coach Julian Nagelsmann made five substitutions in a desperate attempt to find the equalizer, which paid dividends in the 89th minute as substitute Florian Wirtz, the Bundesliga's player of the year for champion Bayer Leverkusen, hammered home a shot from Joshua Kimmich's header to force extra time.
It was Spain, however, which found an extra gear when it mattered most to leave the German fans inside the stadium heartbroken after the hosts' gritty display fell short by the narrowest of margins.
Germany pushed hard for a late leveler and fullback Dani Carvajal was sent off after receiving a second yellow card for a foul on Jamal Musiala as he sought to avoid a counterattack.
He and center back Robin Le Normand will now miss Spain's semifinal match against France.
Carvajal's red card was a fitting conclusion to an ill-tempered and nerve-racking encounter between two of the most impressive sides at Euro 2024. There were 38 fouls in the match and 16 bookings as referee Anthony Taylor flashed cards in an attempt to calm the situation.
Tensions were high from the first minutes following a nasty challenge by Germany midfielder Toni Kroos on Pedri, who left the pitch in tears after sustaining what the Spanish side said was a ligament injury to his left knee.
Pedri's injury forced Spain manager Luis de la Fuente into an early change, bringing Olmo, who was named player of the match with a goal and an assist, off the bench.
"I'm so proud. What a great team! What a joy! But it's not about me, it's truly everyone's tournament. The group is the most important thing," Olmo told TVE.
"Let's hope that Pedri's injury is just a blow because he is very important. This victory is for him. I hurt my calf but I took a gamble and kept on playing. The heart is always more important than the legs."
In Hamburg, Theo Hernandez scored the winning kick as Kylian Mbappe's France edged a tense Euro 2024 quarterfinal clash with Portugal.
France was successful with all its penalties as it advanced to a last-four showdown with Spain, while Portugal's Joao Felix was the only player to miss, sending his team's third kick against the post.
It was overdue success in a shootout for France after it lost the 2022 World Cup final on penalties to Argentina and went out of the last Euros three years ago in the same way, against Switzerland in the last 16.
France also lost on penalties in the last major tournament in Germany, going down to Italy in the final of the 2006 World Cup.
Defeat for Portugal is set to spell the end of the 21-year international career of 39-year-old Ronaldo, who converted his team's first kick in the shootout.
Mbappe, who missed the crucial kick against the Swiss, was already off the pitch by the time this shootout came around, having been replaced by Bradley Barcola midway through extra time.
"I am proud of my players. Even if we are not doing everything perfectly we don't give up," said France coach Didier Deschamps. "Once again we are in the semi-finals. I will savour this a little even if we have another game coming up."
Mbappe endured a frustrating evening as he continues to search for his best form in the competition but appears inhibited while wearing a mask to protect the nose he broke against Austria in France's opening game.
At least he will get another chance to star in the semi-final, while Ronaldo, at 39, appears to have played at a Euros for the last time.
With your current subscription plan you can comment on stories. However, before writing your first comment, please create a display name in the Profile section of your subscriber account page.