James Ward-Prowse had headed the Hammers ahead to give the hosts a 1-0 half-time lead but summer arrival Jeremy Doku restored parity for City just 40 seconds after the restart.
Bernardo Silva latched onto a bouncing ball to put City ahead on 76 minutes before Erling Haaland – who missed a plethora of gilt-edged chances earlier in the game – found his seventh goal of the season nine minutes from time.
Doku was a standout player for the visitors while Matheus Nunes enjoyed his debut with a second-half appearance. Here are several things fans may have missed during the afternoon in London.
Lucas Paqueta was of interest to City over the summer before attention switched to Nunes, who made his Blues bow from the bench at the London Stadium. He greeted and chatted to Pep Guardiola and his staff before kick-off following their summer intrigue.
Paqueta was not on the winning side but wont have done his chances of a potential future move to the Etihad any harm with a confident showing. However, Nunes showed why he was also on City&aposs radar in his second-half display, creating space for Bernardo to tee up Haaland for his goal.
Kyle Walker showed his excellent form both offensively and defensively as he took the captains armband again. West Ham found it easy to counter in the first half, though, with Rodri isolated without the cushion of the injured Mateo Kovacic.
So after half-time, Walker was told to help out centrally when the ball was approaching the West Ham box. The Hammers still managed to find joy but Walker helped shore up the centre of the park to ensure City kept control.
City mustered an incredible total of 29 shots during the 90 minutes, 22 more than they managed in the 5-1 win over Fulham before the international break. They also completed more than double the number of passes than the Hammers – 696 to 309.
They won a total of 11 corners and held 69 per cent of the possession. City managed a brilliant 93 per cent pass accuracy too, showing their dominance despite the end-to-end nature of the second period.