Hosts Germany have been dumped out of Euro 2024 as Spain became the first team to book their semi-final place in the most dramatic fashion.
Mikel Merino’s stunning last-gasp extra-time header ultimately proved the difference in the thrilling first of Friday night’s two heavyweight last-eight ties in Stuttgart, with either Portugal or France now awaiting La Roja in another blockbuster showdown in Munich on Tuesday evening.
Dani Olmo’s stylish finish during the early stages of the second half of normal time looked to have Luis de la Fuente’s side - the only team to have won every match at Euro 2024 so far - on course for the semi-finals originally, until Florian Wirtz crashed home an equaliser off the post in the 89th minute to spark wild celebrations across the country.
It looked as if the lottery of penalties was then very much looming despite an eventful period of extra time that saw further chances for both teams and Dani Carvajal sent off for a second bookable offence, until Merino stepped up to head in Olmo’s cross and break German hearts.
The first half of the initial 90 was a scrappy but feisty affair, with plenty of fouls and a flurry of yellow cards as Germany - who replaced Nico Schlotterbeck and Robert Andrich with Jonathan Tah and Emre Can - took a physical approach and both teams saw their rhythm disrupted.
Unchanged Spain received a huge blow within minutes, Pedri forced to limp off after a heavy challenge from Toni Kroos that did not bring the Real Madrid legend a yellow card in what proved to be his final game before retirement.
Olmo was brought on as a replacement for the Barcelona midfielder, who will now be a major doubt for the semi-finals.
The best chances of the first half fell to Arsenal’s Kai Havertz, who forced two fairly comfortable saves from Spain goalkeeper Unai Simon.
Antonio Rudiger and Robin Le Normand both picked up early bookings to trigger an automatic one-match ban, with the likes of Rodri and Kroos - both later cautioned - also extremely fortunate to stay out of English referee Anthony Taylor’s notebook.
After a frenetic start, Germany began to dominate possession, but Spain quickly battled back as Nico Williams in particular became frustrated with the lack of options available in the middle.
De la Fuente’s men were mostly reduced to efforts from long distance from the likes of Olmo and Aymeric Laporte.
Both managers responded to an underwhelming opening period with half-time changes, Spain replacing the booked Le Normand with the fit-again Nacho Fernandez and Germany replacing Can and Leroy Sane with Andrich and fWirtz.
Alvaro Morata blazed over from close range after being played in by teenage sensation Lamine Yamal, but Spain had their breakthrough six minutes after the interval when Morata released Yamal, with Olmo making a perfectly-timed run to sweep his pass low beyond Manuel Neuer and into the back of the net.
Germany boss Julian Nagelsmann sent on Maximilian Mittelstadt and Niclas Fullkrug in a bid to quickly turn the tide, with the latter having a huge impact as he headed off-target from a corner and then set up Andrich for a fierce strike that was parried by Simon. German penalty appeals for handball were swiftly waved away.
Havertz then had a strike blocked by Carvajal before Fullkrug headed wide once more and then slid against the post after a cross from Wirtz as Germany ramped up the pressure inside the final 20 minutes.
The chances began to pile up with no reward, Havertz almost lobbing Simon and also seeing a header at the back post saved before a free-kick was given.
Germany finally got the equaliser their efforts deserved with one minute of normal time to go, Mittelstadt’s cross to the back post nodded back inside by Joshua Kimmich and Wirtz slamming in off the post to spark wild scenes of celebration.
Fullkrug almost went close again early in extra time after a last-gasp chance for Thomas Muller, with all the momentum with Germany as Spain - who dropped so deep, so early in a bid to defend their lead - looked exhausted and had taken off all of their starting attackers in Yamal, Williams and Morata.
The two sides still could not be separated in the first half of extra time, with Mikel Oyarzabal bending a shot wide for Spain and Germany almost taking the lead after Muller set up Wirtz for a low effort that just missed the target.
Germany had more penalty appeals rejected after a strike from Musiala hit the hand of Marc Cucurella, before Fullkrug and Oyarzabal also both sent further attempts wide - the former then drawing a huge late save from Simon with a glancing header.
A penalty shootout looked a certainty, until Cucurella smartly switched play to Olmo, whose pinpoint cross was then headed past the despairing Neuer in the 119th minute to oust the hosts and send Spain into the semi-finals, but only after Carvajal received his marching orders for dragging down Jamal Musiala and Fullkrug went so close to an equaliser.
But it wasn’t all good news for La Roja, who will likely be missing the injured Pedri in the semi-finals and will also be without the suspended Morata, Le Normand and Carvajal following a furious affair that produced no fewer than 16 yellow cards and one red from English referee Taylor.