Ederson: A few troubling moments but did enough to keep what is a rare clean sheet at the moment. 7
Walker: Made two important interceptions when the game was goalless, using his pace to good effect. 8
Dias: Kept City calm in a testing opening 30 minutes and allowed very little to get near Ederson. 7
Laporte: Turned too easily by Calvert-Lewin on the edge of the box and his game more notable for the scraps he got involved in. 6
Akanji: Added central midfield to the list of positions he has played this season, showing remarkable versatility. 7
Rodri: Didn't look entirely comfortable with rotating partners alongside him but still showed his class. 7
Gundogan: A masterclass from midfield, scoring twice and setting another up. 9
Alvarez: Got into some good positions but made poor decisions on the ball whenever he did. 5
Mahrez: Another start, another assist in a productive season. Some lovely touches, although impact faded. 7
Foden: Some impressive, direct runs that will have made Guardiola think ahead of his Real selection. 7
Haaland: Barely had a kick but was a handful all afternoon and got on the scoresheet. 7
Substitutes
Grealish (for Haaland, 77) Kept the ball, as he does so well. 6
Bernardo (for Gundogan, 77) Came into the middle to help a struggling Rodri. 6
Phillips (for Rodri, 88)
Gomez (for Dias, 90)
Not used: Ortega, Stones, Lewis, De Bruyne, Palmer,