The prolific Norwegian came to the fore to wrap up victory after Fulham had left the field at the Etihad Stadium fuming at half-time over a highly-contentious goal from Nathan Ake.
Fulham complained vociferously that Ake's goal was allowed to stand as Manuel Akanji, stood in an offside position, had appeared to play at the ball.
City, and notably Haaland, put those issues aside with a confident display after the break, securing another win for absent manager Pep Guardiola, who continues to recuperate following back surgery.
The game began in sedate fashion, with not a hint of the controversy that was to flare up later. City, missing Jack Grealish due to a thigh injury, were unusually sloppy in possession and Fulham were without the drive of Joao Palhinha following the collapse of his deadline day move to Bayern Munich.
The visitors suffered a further blow as captain Tom Cairney was forced off injured with just 16 minutes gone.
Foden opened up the defence by playing a one-two with Akanji and weaving his way into the area but his ball across goal was cleared by Issa Diop.
They claimed the lead just after the half-hour mark as Haaland raced onto a Mateo Kovacic pass and swiped the ball across the area for Alvarez to stab home.
The advantage lasted just two minutes as Fulham grabbed a quick equaliser.
City regained the advantage in controversial circumstances in first-half injury time.
The hosts won a corner when Diop just managed to get a head to a delicate cross from Foden that seemed destined for Haaland.
The goal came from the resulting set-piece as Ake, stationed near the penalty spot, planted a firm header into the bottom corner.
Fulham argued that Akanji's movements had impacted goalkeeper Bernd Leno and their protests were long and hard, even continuing after a VAR review had concluded the goal should stand.
Manager Marco Silva was furious on the touchline and the players were still disputing the decision after the ball had been placed in the centre circle for the restart. Referee Michael Oliver did not back down and, not for the first time this season, Silva was shown the yellow card.
The stormy end to the first half appeared to take its toll on Fulham as City moved through the gears in the second period.
Haaland made it 3-1 just before the hour with a clinical low finish after Alvarez put him through on goal with a quick flick from a long Rodri pass.
The striker was then given the chance to add another when City were awarded a penalty soon after for a clumsy challenge on Alvarez by Diop.
Haaland struck the post with his last spot-kick against Sheffield United last week but this time he made no mistake.
He completed his treble injury time as he turned home following good work by substitute Sergio Gomez.