Ederson: Fortunate to get away with dropping the ball from a corner in the first half but made a terrific save at 1-0 and could do nothing with the goal. 6
Walker: Blazed over a glorious chance early on when Haaland was begging for it and struggled to find teammates with his long balls before limping off. 5
Stones: Probably City's best defender, although one of several players who didn't cover himself in glory for the equaliser. 6
Dias: Strong and aggressive to maintain a tight backline but did not look as comfortable with players running at him. 6
Cancelo: We've been here before: good going forward, not so good going backwards. Two moments of sloppiness for Bailey's goal. 5
ALSO READ: Villa vs City as it happened
Rodri: A rare mistake gave Villa a big chance in the second half after a solid start, and then his poor clearance led to the equaliser. 6
Gundogan: Helped City have order and control in the midfield, shuttling between Rodri and De Bruyne. 7
De Bruyne: An inspired cross to give City the lead and rattled the crossbar. Kept creating until the end. 7
Bernardo: Worked hard on the right wing but struggled to have a similar impact to recent weeks. 6
Foden: Being up against Ashley Young for most of the game looked an ideal opportunity but nothing really came off for him, again 5
Haaland: 10 Premier League goals in 6 matches. He didn't get much joy but was there when it mattered. 7
Substitutes:
Mahrez (for Bernardo, 73): Villa scored as soon as he came on and missed a good chance to put City back in front. 5
Ake (for Walker, 80): Struggled to get into the pace of the game. 6
Not used: Ortega, Ake, Gomez, Wilson-Esbrand, Lewis, Mahrez, Palmer, Grealish, Alvarez
READ MORE: