Mikel Merino scored a dramatic 119th-minute winner as Spain snatched their 2-1 victory in Stuttgart to dump host nation Germany out of their own European Championship.
After a scoreless opening half, substitute Dani Olmo broke the deadlock with a fine finish from just inside the area. But Germany dug deep and forced extra-time through an 89th-minute strike from Florian Wirtz.
Germany looked the more likely to score a winner but, with just seconds remaining, Merino headed home Olmo’s exquisite cross to break the host nation’s hearts.
Spain will next play either Portugal or France — but they will have to do so without the suspended Dani Carvajal and Robin Le Normand, while there are injury concerns over both Pedri and Fabian Ruiz.
English referee Anthony Taylor issued sixteen yellow cards during the 120 minutes, including a red card for Spain defender Dani Carvajal, which rules the Real full-back out of the semifinal.
Mikel Merino as Spain beat the hosts at a major tournament for the first time in 10 attempts after Florian Wirtz had cancelled out Dani Olmo’s opener in normal time.
Spain will meet France in the semifinal in Munich on Tuesday, and Coach De la Fuente hopes their run will continue to the final in Berlin on July 14.
“We are seeing history,” the coach said in a news conference after the game. “It is the first time we have had five wins in a row at the Euros or a World Cup.
“It is also the first time beating the hosts in one of the major tournaments. It’s a moment to put value on what we have achieved and enjoy this historic moment.
“We will see how the story ends, but this team wants to go all the way. These players have heart. They’re insatiable; they don’t tire of competing and working hard. They are ambitious. It’s an honour to have players with those values.”
Spain have previously struggled against hosts at major tournaments.
They lost at World Cups to Russia in 2018 and South Korea in 2002, while they were also painfully beaten by France in the Euro 1984 final.
More heartbreak looked set to follow in Stuttgart when Wirtz levelled for Germany to take the game into extra time after Olmo had turned home Lamine Yamal’s cross.
A frenzied affair ended with 16 bookings and one red card — to Spain defender Dani Carvajal — while Germany also committed 22 fouls to Spain’s 17.
Merino, meanwhile, celebrated the winning goal, set up by Olmo, by doing a loop around the corner flag, imitating the celebration his dad performed when he scored at the same stadium in a UEFA Cup game for Osasuna against Stuttgart in 1991.
“It could be the best goal of my career because of the importance of the game, a quarterfinal at the Euros, in the last minute, to win it,” the Real Sociedad midfielder told reporters.
“At first, I didn’t believe it because I didn’t see the ball. There was an incredible silence. I didn’t know if something happened or not, so it took me a few seconds to realise it was a goal.
“And then I celebrated it like crazy. All my teammates came piling over and I realised it had gone in and we were about to win. I am so happy because this is a family.
“There’s a lot of work behind this, especially from my teammates, who were doing a great job, and for Germany to equalise in the 90th minute was a setback, but it’s a reward for perseverance and I think we deserve it.”
As well as losing Pedri to injury and Carvajal to suspension, Spain will be without centre-back Robin Le Normand in the semifinal after he received his second booking of the finals.