- Spain advance to semi-finals of Euro 2024 with win against hosts Germany
- Florian Wirtz cancelled out Dani Olmo opener to send game to extra-time
- Mikel Merino scored 119th-minute winner before Dani Carvajal sent off
Spain booked their place in the semi-finals of Euro 2024 with a dramatic 2-1 win against hosts Germany after extra-time.
Over 120 minutes were required to separate two of the tournament favourites, with La Roja just about edging the contest in Stuttgart.
A frantic and enthralling encounter saw 16 yellow cards and one red dished out on a sweltering Friday evening, while Toni Kroos' illustrious career came to an end following his retirement at the end of Germany's campaign.
Luis de la Fuente's men will meet either Portugal or France in the semi-finals on Tuesday.
How the game unfolded
Spain found a sight of goal inside the first minute. Nico Williams' ball inside to Alvaro Morata was teed up for Pedri, whose effort from the edge of the area was held by Manuel Neuer.
Lamine Yamal then saw his free-kick creep under the German wall but bend just past the outside of the post as La Roja's early pressure continued.
Germany's first chance came when Kai Havertz met a Joshua Kimmich cross, but his header went straight down the throat of goalkeeper Unai Simon.
Within two minutes of the restart, Spain should have gone in front. Williams' floated cross was rolled back inside by Lamine Yamal for Morata, who swivelled and fired over from close range.
But with their next attack, Spain broke the deadlock. Morata dropped deep and spread play to Yamal, who again was able to play a low cross slowly, this time for Dani Olmo, and he made no mistake with a fine finish from 18 yards.
Germany began to panic and immediately started playing long to try and find a route to goal. Niclas Fullkrug set up Robert Andrich on the edge of the box and his shot stung the palms of Simon in their first meaningful attack after going behind.
The dogged Dani Carvajal then came up with a flying block to deny Havertz after Spain failed to take the ball off of Fullkrug's toes.
Down the other end, Ferran Torres' deep free-kick caused Neuer to scramble back across his line and prevent the ball from sneaking in at the far post.
Fullkrug was continuing to cause Spain serious problems and he rattled the post after reaching Florian Wirtz's cutback, all the while wrestling with Carvajal.
Another Germany opening went begging when Simon's poor kick was intercepted by Havertz, but his dink from 25 yards sailed over the top
But after 89 minutes, the tournament hosts finally got one over the line. Maximilian Mittelstadt's deep cross was nodded back by Joshua Kimmich to Wirtz, whose half volley cannoned in off the inside of the far post to send the game to extra-time.
Mikel Oyarzabal and Wirtz both fired inches wide in the first half of extra-time, before Germany wanted a penalty for handball against Cucurella shortly after play restarted, but referee Anthony Taylor was not moved.
Kimmich crossed for Fullkrug to nod on, and Simon had to be at full stretch to keep the ball from ending up in the net.
And in the final minute of extra-time, Spain stole the win back. A teasing cross from Olmo found Mikel Merino unmarked in the box, and his header left Neuer stranded.
Germany searched for one last shock and thought they had it when Fullkrug again headed wide, while Carvajal received a second yellow card for another spot of gamesmanship as Spain this time held on to advance.