Jan Oblak: Made a decent save from Lionel Messi but didn’t have much to do in the first half aside from that. A couple decent stops in the second half but never required to be at his best. Had an answer for every question asked. Made one late mistake as he passed straight to Martin Braithwaite but got lucky as Atlético Madrid converged and won it back — 7.
Kieran Trippier: Offered himself as support on the right despite most of the play happening down Atletico’s left in the first half. Couldn’t get beyond Llorente on the overlap the way he likes, but solid defensively and kept Pedri quiet. More involved in attack in the second half. The lack of news was good news for Atlético as Trippier manned the right-hand side well throughout — 8.
Stefan Savić: Another solid performance but completely lost Clément Lenglet for a header after an hour. Lucky the French defender didn’t score. Antoine Griezmann beat him to a header later in the second half and forced a save. Booked for dissent late on after fouling Messi — 7.
José Giménez: Manned a back three when out of possession, stepping out to take the false nine. Made a couple of good clearances in the first half and was solid in the second half. Never under too much pressure and Messi’s poor show was a testament to Giménez’ influence — 8.
Mario Hermoso: Struggled with Dembélé to start but the Frenchman’s influence waned. Very calm in the build-up to the goal. Played in the left of a back three and did very well. Becoming a very solid option for Diego Simeone given his versatility. He is now ahead of Renan Lodi in Cholo’s best XI — 8.
Koke: Booked early for a silly foul on Dembélé. Played slightly deeper than he might have liked with Saúl and Llorente either side of him. Didn’t have much influence in the first half but he grew into the game. Never going to jump off a stat sheet and his highlight reel isn’t long, but consistently excellent and ties this team together perfectly — 9.
Saúl: Forced a nice save from Ter Stegen as the first sign of life for the home side. Still not back to his best but trying harder to have an influence and seems buoyed by Félix’s recent good form. A shadow of himself though and hard to see how he gets out of his current rut — 7.
Marcos Llorente: Direct running in the box caused problems throughout the game. Hit the crossbar with an early effort. Gave Trippier an option down the right time and again and that led to sustained attacks, something Atlético have struggled with against better sides like Barcelona in years past. Continues to be a leading man in Simeone’s side — 8.
Yannick Carrasco: Linked well with Félix early and just a sublime touch and finish for the goal. Worked hard defensively and always a threat in attack. Played as a left wing-back but was one of Atlético’s best attackers. Very complete game for a highly underrated player — 10.
João Félix: Adds style to Atlético’s attack, even if he wasn’t excellent in the first half. Always keen to progress play and be creative. A pleasure to watch even when he’s not at his shining best. Never outstanding on Saturday night but played a mature and complete game — 9.
Ángel Correa: Quiet first half but slipped the ball through to Llorente for Atlético’s best chance at the start. Played the ball into Carrasco’s path for the goal too. He has turned a corner and is becoming consistently threatening and creative, something he lacked during previous seasons — 8.
Diego Costa: Was quite heavily involved, coming on for Llorente after 70 minutes. A few questionable touches early as he eased his way back into action but held the ball up and provided fresh legs once he got up to speed.
Thomas Lemar, Geoffrey Kondogbia, Felipe — not on long enough to make an impression.