The £51 million summer signing from Borussia Dortmund scored what are likely to be the first of many to get his and City’s season up and running.
It might not have been as explosive a debut as some of his previous ones – Haaland scored a hat-trick on his Champions League bow for Red Bull Salzburg and another treble on his Bundesliga debut for Dortmund – but a first-half penalty and a fine second-half finish meant it was a hugely satisfying afternoon’s work for Pep Guardiola’s new poster boy as well as the player’s father, Alfie, the former City midfielder who was watching from the stands.
"It was good, a good start," Haaland told Sky Sports. "Good to get some minutes in the legs early in the season and we have to keep going.
"As expected we saw the potential against Bayern [Munich in pre season] and it was a bit down against Liverpool. It will come with games, it should have been more today.
“There were some good celebrations so I’m happy. Nice that he [his dad] saw both goals as it is a big moment for me as a debutant in this competition.”
West Ham did look there for the taking, as despite a summer of rebuilding they somehow contrived to start the season with only one fit centre-half.
Within half an hour they had lost goalkeeper Lukasz Fabianski to injury and it was his replacement, Alphonse Areola, who promptly gave away the penalty.
Yet in a bright start from the hosts Jarrod Bowen had a close-range shot blocked before Michail Antonio headed Aaron Cresswell’s cross narrowly over.
However, City grew into the game and Haaland’s big moment should have arrived in the 20th minute when Phil Foden floated over an inviting cross.
But the 22-year-old did not meet the ball with any conviction and instead glanced a weak header wide.
Moments later City did have the ball in the net after Haaland laid it off to Ilkay Gundogan, but the midfielder was pulled up for offside as he squared for Kevin de Bruyne to tuck away.
After Fabianski injured himself going up for a cross, Areola, who joined the Hammers permanently in the summer after a successful loan spell last year, was prematurely pitched into the action.
But Areola’s first involvement was disastrous for the hosts as the Frenchman brought down Haaland as he chased Gundogan’s through-ball.
There was only one player who was going to take the penalty, and he expertly sent Areola the wrong way with a low spot-kick which clipped a post on its way in.
West Ham could have equalised shortly after half-time but Declan Rice, now the club’s permanent captain after Mark Noble’s retirement, lifted his shot over the crossbar.
Just before the hour manager David Moyes introduced his marquee summer signing, £30m Italy striker Gianluca Scamacca, for an ailing Antonio.
But it was another substitute, Said Benrahma, who forced the first save of note from Ederson with a low drive.
However, Haaland put the game beyond the hosts with 25 minutes remaining, racing on to De Bruyne’s through-ball and slotting it past Areola.
The Norwegian could have marked his latest debut with yet another hat-trick, but he had to settle for two after heading a Jack Grealish cross over the bar.