Ederson: Very little to do as City dominated. Just about recovered in time after dropping a routine ball in the penalty area, then down to keep out a Benrahma effort. 6
Walker: Some dodgy passes when he pushed up inside but still vital to the effort and kept tabs with the pacy Benrahma when he came on. 7
Dias: Very good at both winning fouls and not conceding them. A professional effort, even if there were a few tricky moments in possession. 7
Read more: Follow reaction to City's win at West Ham
Ake: Looked set for a tricky afternoon testing him in the air but had a more enjoyable time than expected. 7
Cancelo: Booked for dissent in the first half and a sticky start when he needlessly gave the ball away, before becoming more comfortable as City began to dominate possession. 6
Rodri: City's metronome ticked and ticked and ticked. Stepped back into defence to help the build-up and never looked flustered. 7
Gundogan: In the right place to feed Haaland to win the penalty and fully justified his starting position ahead of Bernardo Silva with an intelligent display. 8
De Bruyne: Saw the ball in good areas but, unusually for him, was unable to do very much with it for a while before a beauty found Haaland for the second. 7
Foden: Looked bright on the right and while he didn't do anything particularly decisive his energy definitely helped the attacks. 7
Grealish: Similar to Foden but slightly less involved. Neither were bad but you just felt like they both had slightly more to five. 6
Haaland: Won the penalty with a great run, scored the penalty, linked up well with teammates all game - all extremely promising from a City point of view. 9
Substitutes
Bernardo (for Gundogan, 78) Slotted straight in
Alvarez (for Haaland, 78): Some nice runs from deep
Mahrez (for Foden, 89): No time
Palmer (for De Bruyne, 89): No time
Phillips (for Rodri, 89): No time
Not used: Ortega Moreno, Stones, Lewis, Wilson-Esbrand
ALSO READ: