Pep Guardiola's side enjoyed a whopping 76% of the ball, and made it pay with the Norwegian's strikes either side of half-time.
That sees the Blues off to the perfect start in the Premier League as we seek to defend the title we have won in four of the last five seasons.
Here we'll take a look at what the deeper statistics tell us about the story of the match...
Haaland wasted no time letting Premier League defenders know exactly what to expect from him. Our No. 9 hit two goals, one from the penalty spot and the second a slide-rule finish after racing on to a Kevin De Bruyne pass.
He had five shots in the match, with a total xG of 1.66. In both of his two complete seasons with Borussia Dortmund, he outperformed this metric by scoring more than his xG would suggest.
He had 32 touches and played 23 passes. These figures were the lowest of any City player to start the match, highlighting that the striker's role in this game was to be the decisive figure in the final third, not necessarily a central part of the build-up.
According to FotMob, City's 14 shots created a total xG (Expected goals) of 2.23, meaning that on another day we may have managed a third from the chances we had.
At the other end, West Ham could muster just 0.49 xG from their six shots with the greatest chances the blocked Jarrod Bowen shot and then the header over from Michail Antonio just three minutes in.
Playing full-back in a Pep Guardiola side is unlike performing that role for almost any other team in the world. Joao Cancelo and Kyle Walker spent much of the match tucked inside alongside Rodrigo. With Nathan Ake and Dias behind that trio, City often resembled an old fashioned defensive W formation as played by teams in the early 20th century.
Cancelo and Walker's positioning can be seen from the below Heat Maps, that demonstrate they rarely took on the overlapping responsibilities attacking full-backs are often known for.
The beefed up midfield allowed City to dominate possession, making 833 passes and completing 774 of them. When compared with West Ham's total of 206 from 263 attempted passes, that demonstrates the difference between the sides.
Cancelo played the most passes of anyone on the pitch, completing 106 of 111 attempted. Ake, Rodrigo, Dias and Walker took second to fifth respectively in that metric, showing that City spent a lot of time manoeuvring West Ham around the pitch before feeding into the attacking players.
Winning games of Premier League football is not just about the work you do on the ball, you also have to compete physically with the opposition.
And City were equally as impressive in that regard. We won 39 of the 68 duels (57%) according to FotMob, beating the Hammers to the ball on the floor 28 times and in the air on 11 occasions.