Ederson Picture of calm with the ball at his feet but he was slow to prevent Rodrygo's equaliser - 6
Kyle Walker Guardiola took a risk and for 70 minutes and it worked as Walker tied up Vinicius' threat superbly - 8
Ruben Dias His backs-to-the-wall defending was superb, but he undid the good work with a rash challenge to concede the penalty - 6
Aymeric Laporte Like Dias, he had stood tall as Benzema and Vinicius took the fight to City, but went missing in added time - 6
Joao Cancelo Settled into his slick rhythm as the game went on but then was part of a collective defensive failure - 6
Rodri Had gradually imposed his considerable bulk and passing ability on midfield and the collapse was not his fault - 7
Bernardo Silva Just brilliant again. Ran for everything, garnished it with skill and nerve, and set up Mahrez goal brilliantly - 9
Kevin De Bruyne Just looked off the pace for some reason, the reflexes slow and awareness dulled - 6
Riyad Mahrez Had not been too involved, but when his moment came, he was ready, and his 24th goal of the season was a cracker - 8
Gabriel Jesus Did not give the defence a moment's peace, and he continues to show his quality has not dimmed - 8
Phil Foden Proved too agile and quick for the labouring Real defenders, but nothing came off in final third - 7
Subs
Ilkay Gundogan (for De Bruyne 72) Brilliant 20 minutes after he came on - 7
Oleks Zinchenko (for Walker 72) Slotted in OK - 6
Jack Grealish (for Jesus 79) Made no impression - 5
Fernandinho (for Mahrez 85) So close to equalising - 6
Raheem Sterling (for Rodri 99)
Not used: Steffen, Carson, Ake, Egan-Riley, Palmer, McAtee, Lavia
Sign up to our City newsletter so you never miss an update from the Etihad Stadium this season.
Catch up on all the latest Blues headlines in our Man City section