Football Features

Borussia Dortmund 0-2 Real Madrid: Player ratings as Los Blancos secure 15th Champions League trophy

By Harry Edwards

Published: 22:14, 1 June 2024

Real Madrid won their record-extending 15th Champions League thanks to a 2-0 win over Borussia Dortmund in the 2023/24 final.

The game was won in the second half with Dani Carvajal scoring the only goal with 15 minutes left to play. Borussia Dortmund, like so many before them, were left ruing missed opportunities have dominated the first half.

Vinicius Jr capped off the win late on, with Real Madrid now the sixth consecutive team to win the Champions League while keeping a clean sheet in the final.

Here’s how the players rated at Wembley:

Introducing Squawka Selector! Guaranteed cash-prize winners with our brand new free-to-play game

  • Click here to register for Squawka Selector
  • Sign up and press ‘Join’ on the next available pot
  • Correctly predict outcomes like Full Time Result and Anytime Goalscorer to score points
  • Track your progress in real-time with our live leaderboard
  • Plus opt-in for marketing & play Squawka Selector for a chance to win tickets to the Community Shield!

Squawka Selector final ad


Borussia Dortmund

Gregor Kobel – 7 – Didn’t have anything to do in the first half but produced a good save on Kroos’ free-kick shortly after the restart. Beaten by Carvajal’s good header, but then pulled out a handful of good saves to keep Dortmund in it.

Julian Ryerson – 8 – Having shut down Kylian Mbappe in the semi-finals, Ryerson had a similarly tight battle with Vinicius Jr. The Brazilian had his moments when one-on-one, but Ryerson came out on top more often than not.

Mats Hummels – 8 – Eleven years on from Wembley heartbreak against Bayern Munich, Hummels suffered despair again. But he didn’t deserve to be on the losing side. The German was a colossus in the final, dealing with everything Real Madrid threw at him, while also playing wonderful passes.

Nico Schlotterbeck – 8 – Was part of a solid centre-back pairing alongside Hummels that looked unbeatable for large parts. Produced a wonderful tackle to stop Bellingham from making it 2-0.

Ian Maatsen – 7 – Made five tackles in the game and was largely good. It was his pass that set up Fullkrug for his first-half shot. Adeyemi also pulled out a good block on Carvajal’s shot. But it was he who gave the ball away in a dangerous position to set up Real Madrid’s second.

Emre Can – 8 – Sat just in front of the Dortmund defence and kept Bellingham’s impact to a minimum while he was on the pitch. Taken off and then everything fell apart.

Marcel Sabitzer – 7 – Did a lot of work in the first half as Dortmund applied the pressure on Real Madrid.

Jadon Sancho – 7 – Involved a lot when Dortmund were on top, though he wasn’t often involved in the final moves. This was another step on the road to recovery.

Julian Brandt – 7 – Had the first real chance of the game after good work from Fullkrug but he couldn’t get the ball out from under his feet, scuffing his shot well wide. But he was doing his all for Dortmund.

Karim Adeyemi – 7 – If Adeyemi had had his finishing boots on, Borussia Dortmund could have been 4-0 up by half-time. The German was in a very interesting battle with Carvajal and often had the Spaniard on toast. But when it came to the key moments, there was always a touch that went wrong, including when he went one-on-one with Courtois. A strong game, but a big what if.

Nicolas Fullkrug – 6 – Was really unlucky to hit the post after a quick shot and had a good header in second half. But for all of Dortmund’s chances, he didn’t feel like too much of a threat outside of those chances.


Marco Reus (for Adeyemi 72) – 5 – Didn’t really get involved after coming on.

Donyell Malen (for Can 80) – N/A – A late sub.

Sebastien Haller (for Brandt 80) – N/A – A late sub.

Jamie Bynoe-Gittens (for Sancho 87) – N/A – A late sub.

BetMGM sign-up offer: Get £40 in free bets when you bet £10

Not signed up to BetMGM yet? Here's how eligible readers* can take advantage of their welcome offer:

  1. Open an account at BetMGM using this link.
  2. Select the Sports Welcome Offer.
  3. Get the offer from the ‘My Offers’ page.
  4. Deposit and place a £10 bet at odds of 1/1 (2.0) or greater.
  5. When it settles, unlock £40 in Free Bets

*New customer only. 3 days to claim & 7 days to place a qualifying bet to receive 4x Free Bets: 1 x £10 Horse racing, 1 x £10 Free Bet Builder, 1 x £10 Acca and 1 x £10 Football. 7 day expiry. Exclusions apply. Stake not returned. T&Cs apply. For more information, visit

Real Madrid

Thibaut Courtois – 8 – Making his first Champions League start of the season, Courtois showed why he is one of the best goalkeepers in the world. At times he kept Real Madrid in the game, including one moment where he stood up long enough to force Adeyemi into going wide in the first half.

Dani Carvajal – 7 – He had a tough night against Adeyemi, often being done for pace when trying to play a higher line. After allowing Adeyemi to run off his shoulder to go one-on-one, Carvajal did recover well to block the shot. And when Adeyemi went off, Carvajal almost immediately scored the opener, as if a weight had been lifted off his shoulders.

Antonio Rudiger – 7 – Although Real Madrid were under fire at times, Rudiger looked pretty solid defensively when one-on-one.

Nacho – 7 – Like Rudiger, Nacho did well in keeping the threat outside the box, though they were undone at times.

Ferland Mendy – 7 – Was up against Sancho and did well, though there were a few moments when he was beaten.

Federico Valverde – 8 – When Real Madrid did have their chances, Valverde was the one involved a lot, particularly in the first half. He was finding the spaces inside the Dortmund defenders with his passing, often deceiving with the reverse ball.

Eduardo Camavinga – 8 – Sitting in front of the Real Madrid defence, Camavinga looked pretty solid. He grew as the game went on too, composed on the ball when Dortmund applied pressure.

Toni Kroos – 9 – In his final game of club football, Kroos played as only Kroos could. The German kept things ticking over and did the damage with his set-piece deliveries, including the assist for the opening goal.

Jude Bellingham – 6 – Had limited involvement through the game, marked well by Can. Had a good opportunity at 0-0 but just missed the ball, and he did set up the second goal. But it does still feel like this was slightly underwhelming — from the high standards we have all placed on Bellingham. He won’t care, though.

Rodrygo – 6 – Wasn’t involved in the game at all in the first half. Had a couple of moments after half time, but wasn’t too much of a threat.

Vinicius Jr – 7 – Found the pockets in the first half and was in a good battle against Ryerson and Hummels. Was frustrated at times, and perhaps a bit fortunate not to get send off for a second yellow card for diving. But he kept going, looking to get at the Dortmund defence and scored the second, keeping his cool late on.


Joselu (for Bellingham 85) – N/A – A late sub.

Luka Modric (for Kroos 86) – N/A – A late sub.

Eder Militao (for Rodrygo 90) – N/A – A late sub.

Lucas Vazquez (for Vinicius Jr 90) – N/A – A late sub.