
Despite a positive first half for West Ham, their resistance was broken less than five minutes after the break.
Nathan Ake headed home from an inviting cross, courtesy of Riyad Mahrez via a set piece.
But 20 minutes later, Erling Haaland stole all the headlines once again.
The Premier League goalscoring record now belongs to him, surpassing Andy Cole and Alan Shearer's record in just 33 games.
His domestic tally is now 35 goals after a sublime chip to put City two to the good. With City at their relentless best, who's to say 40 is out of reach?
Just as he did against Arsenal, Phil Foden's impact from the bench helped put the champions out of sight, as his deflected strike left Lukasz Fabianski helpless for City's third.
For The Hammers, 3-0 perhaps belittles their mostly valiant effort. The Etihad often swallows teams up but a depleted West Ham side missing Declan Rice can take some pride in keeping City at bay for 50 minutes.
-
Man City
Stefan Ortega - 7
An unexpected Premier League debut given Ederson's recent uprise in form. Kept Jarrod Bowen's first-half attempt out with a strong save and distributed confidently throughout.
Kyle Walker - 6
The England defender was not at his best in the first half; giving away a foul on the edge of City's box and misplacing a few diagonal balls. Grew as the game went on and stopped West Ham's threat down his side after the break.
Ruben Dias - 6
Lucky to avoid a first-half booking for a late challenge on Michail Antonio. Made some important preventions as the game went on. Leadership as always, there for everyone to see.
Nathan Ake - 6
Perhaps thrown in to regain some match fitness before Real Madrid, Ake looked slightly rusty at first given his recent injury. Nodded home City's first goal routinely.
John Stones - 7
Defended, dictated, attacked - is there anything John Stones can't do?
Rodri - 6
Incredibly unlucky not to score in the first half, as his shot hit the inside of the post before agonisingly trailing across Fabianski's line. Passing was mostly crisp.
Bernardo Silva - 7
The Portuguese maestro showed that he is so much more than silky feet. Covered a lot of ground and put in a gut-busting defensive shift. Stood firm to block a West Ham shot which was goal bound.
Riyad Mahrez - 6
Despite his pinpoint cross for Ake to break the deadlock, West Ham's left-hand side kept Mahrez relatively quiet.
Jack Grealish - 7
Won the free kick which lead to City's opener, and constantly ran at Vladimir Coufal. Timed his pass to Haaland exceptionally and should take pride in assisting the record-breaking goal.
Julian Alvarez - 5
The Argentinian couldn't quite build on his impressive display at Fulham. Gave the ball away a few times and struggled to make an impact. Nonetheless, still a willing runner.
Erling Haaland - 7
Haaland was much less involved in City's play than he has been in recent weeks. His only notable involvements were a header over the bar in the first half and his delicate finish in the second. But he was brought in to score goals, and that's what he has done at a stunning rate.
Substitutes:
Manuel Akanji - 6
Helped City see the game out from left-back.
Phil Foden - 7
With a goal last night and an assist off the bench against Arsenal, Foden will surely be due a start soon. His strike was sweet but the deflection was wicked.
Kalvin Phillips - N/A (on at 90')
A penny for his thoughts, as Pep Guardiola chose to stick with Rodri, despite the game being all but won from the 70th minute.
-
West Ham
Lukasz Fabianski - 6
Not solely at fault for any of the three goals scored by Man City. Tried to stand tall against Haaland, but his chip was perfect. Made some good first-half stops, denying Mahrez and Grealish.
Vladimir Coufal - 6
Stuck to his task against Grealish and made some good interceptions. Taken off after an hour holding his hamstring.
Thilo Kehrer - 6
Made a crucial tackle on Haaland before he could get a shot away. Stepped in for Nayef Aguerd and did a reasonable job.
Angelo Ogbonna - 6
West Ham's best player in the first half. Rose to clear crosses in the box, crucially on one occasion with Stones and Haaland ready to pounce behind him. Played Ake onside for City's first goal.
Emerson - 6
Nullified Riyad Mahrez for much of the game, with help from Creswell. Foden's late strike deflected off his back to divert the ball away from Fabianski.
Aaron Creswell - 6
Worked well with his wing-back to keep City's right-hand side quiet. Played an unfamiliar role in a back 3, but he was effective for the most part. His cultured crossing and set piece delivery ability was not used.
Flynn Downes - 4
Four of his five Premier League starts have come against top 6 sides - a tough introduction to life at the top level. His foul on Jack Grealish displayed a lack of experience as it led to City's opener. His passing was restricted, proving how Declan Rice and Tomas Soucek were a huge miss for the away side.
Lucas Paqueta - 6
Caused problems with his individual skill and showed some bravery on the ball. Drew a save out of Ortega late on.
Jarrod Bowen - 6
Ran at City's defence when he could, but to no avail. Was of little use in the second half.
Pablo Fornals - 4
Some rash decision-making, like his timid halfway line attempt which trickled to Ortega was detrimental to his team. A real lack of quality.
Michail Antonio - 6
His contribution was always going to be the telling factor in West Ham's game plan. Combativeness as always was there, but City's defence is not one which can be bullied easily. Taken off for Danny Ings after 67 minutes.
Substitutes:
Ben Johnson - 4
Struggled to get to grips with the game after replacing Coufal. Part of a dishevelled defensive unit for Haaland's goal.
Danny Ings - 3
Gave the ball away which led to Haaland's goal immediately after coming on.
Said Benrahma - 5
Brought on with 10 minutes to play, the Algerian made no real impact.

