Player Ratings: Spain defeat the hosts right at the death

In the ultimate clash of the titans, it was Spain who advanced to the semifinals after leaving it very late indeed to defeat hosts Germany.

Goals from substitutes Dani Olmo, Florian Wirtz and Mikel Merino defined the display, with some players putting in excellent displays and others falling short – including the final game of a legend.

Here are FromTheSpot’s player ratings.


Unai Simón – 7

All but flawless until the 82nd minute, when he was booked for time wasting before gifting Havertz a big chance to score. Made a couple of brilliant saves to deny Can and Andrich and there was nothing he could really do for the Wirtz goal.

Marc Cucurella – 6

A potent attacking threat in the opening exchanges, but afterwards he was called upon more regularly in the defensive department. Some important interventions at times, but in possession he became ever sloppier as the game progressed.

Aymeric Laporte – 7

Strong at the back and some impressive moments going forward too, including his long-range strike early on and his mazy run into the midfield on the hour mark.

Embed from Getty Images

Robin Le Normand – 5

Really silly foul on Gündoğan saw him booked. Solid enough but hooked at halftime and will miss the semifinals.

Dani Carvajal – 6.5

A really impressive defensive display until his daft bookings. Made a crucial intervention to deny Füllkrug on the break in the 67th minute and followed that with a great block to deny Havertz. Decent going forwards too, but his pair of bookings soured that display. Will also miss the semifinals.

Fabian Ruíz – 7

Recycled the ball really well and was handy at the back too, making a couple of very important interventions, particularly after one poor Rodri clearance. Unlucky to have been withdrawn after injury following another impressive performance.

Embed from Getty Images

Rodri – 8

Typical Rodri. Excellent at disrupting German breaks, particularly in the first half. Came to the defence’s rescue on multiple occasions in the second half and was always an outlet in possession.

Pedri – 5

Horribly unlucky to be injured and withdrawn only eight minutes in after a very rough Kroos foul. Showed promise while he was on the pitch but just didn’t play for long enough to warrant a higher rating.

Nico Williams – 6

Willing to run as ever and had a fun little battle with Joshua Kimmich down the Spanish left-hand side but struggled to get the better of him or find any final product.

Embed from Getty Images

Álvaro Morata – 4

Neither here nor there while he was on the pitch. Spent too much time too deep and wasn’t too helpful in possession. When he did get a chance in the box, he blazed it over. Not his best performance. Will also miss the semis after being booked.

Lamine Yamal – 6

Gorgeous ball across to set up Olmo’s goal, but was occasionally a little overzealous in his hour of game time. There were moments where he tried too much instead of playing the final ball and that scuppered Spain on occasion.


Dani Olmo – 9

Essentially played the entire game after being introduced early for the injured Pedri, and was a constant option going forward. Technically excellent all-game, creative and the provider of a lovely, cultured finish to score Spain’s goal. Unbelievable cross for Merino’s goal, too.

Embed from Getty Images

Nacho Fernández – 6

Solid enough at the back after being introduced at halftime. Regularly headed the ball away, but was very lucky that Füllkrug hit the post late on after losing the physical dual with him.

Ferran Torres – 5

Did a bit of everything: won free kicks, took them and gave them away. Got a silly booking after grappling Musiala in the 74th minute and offered precious little after that.

Mikel Merino – 7

Much better going forward than he was sitting back and caused occasional problems but never quite found that final ball until the goal – a brilliant header right at the end.

Joselu – 4

Played throughout extra time and didn’t really do anything at all.


Manuel Neuer – 7

An excellent goalkeeping performance. Some good saves from shots from distance and some fantastic sweeping. Very unlucky with both finishes.

David Raum – 4

Not a great performance. Toothless going forward and booked for a clumsy challenge on Carvajal. Did nothing to prevent Yamal’s ball which set up Olmo’s goal. Withdrawn on 57 minutes and Germany improved because of it.

Jonathan Tah – 5

A solid enough defensive display but nothing remarkable. Too easily beaten at times by both Yamal and Morata. Withdrawn for Thomas Müller after the 80th minute.

Antonio Rüdiger – 6

A bizarre performance. On the one hand, his booking in the 13th minute was very silly but after that, he was a terrific asset in possession and made some very important defensive interventions.

Embed from Getty Images

Joshua Kimmich – 6

Struggled with Williams at times and took a while to really get going in an attacking sense, but once he found his stride he was very good. His assist for Wirtz’s goal was excellent.

Toni Kroos – 6

A sad way for Kroos to bow out of professional football. It was another strange display. He played that quarterback role excellently as usual, but his tackling was absolutely awful at times, and he was very lucky not to have picked up two yellow cards. An average display and an underwhelming way for a legend to leave us.

Emre Can – 4

Really poor and the weakest link in the midfield until he was hooked. Some terrible passes, cheap giveaways and one late challenge on Yamal marred an otherwise okay display. Subbed off at half time.

Jamal Musiala – 6

A bright spark. Didn’t see the ball as much as he might’ve liked, but was positive when he did get it. One of the better players for Germany.

Embed from Getty Images

Ilkay Gündoğan – 6

Composed as ever under pressure and played some amazing balls at times. He was unlucky to be substituted in the 57th minute, but the introduction of Niclas Füllkurg was a needed one.

Leroy Sané – 3

Poor at the EUROs again. Was so far out wide on the right-hand side that he hardly impacted the game at all, and was promptly substituted at half-time.

Kai Havertz – 4

Similar to Morata in many ways. Too anonymous for much of the match, especially when he dropped deep. Was unlucky at one point not to lob Simón but overall just wasn’t the forward they needed at times.


Robert Andrich – 4

You just cannot play like that with hair that colour. A liability at times after coming on. Booked straight away, but grew into the game a little as it went on.

Florian Wirtz – 7

Scored an excellent goal to take the game to extra time and was a wonderful creator after being introduced. More than good enough to have pushed Germany on to a winner when the scoreline was level and questions should be asked as to why he didn’t start.

Embed from Getty Images

Maximilian Mittelstädt – 6

A big improvement over Raum. Creative from the back and crucial in setting up the German equaliser. Solid enough at the back too.

Niclas Füllkrug – 6

Just didn’t get the luck. Chance after chance came his way and chance after chance went begging. Denied by the post, Simón and the occasional dodgy connection. Very unlucky not to have scored and made Germany vastly better when he came on.

Thomas Müller – 4

Really quite anonymous after being introduced.

Waldemar Anton – 4

Didn’t really have enough time to impact proceedings.

You can keep up with all the drama at EURO2024 right here at FromTheSpot.