Everton held firm for large periods of the contest to frustrate their hosts, who ultimately remained patient in their search of the all-important breakthrough.
Man City's persistence ultimately paid off in the 71st minute when Haaland thumped the ball past Jordan Pickford to score on his second start since returning from injury.
Haaland doubled his advantage in the closing stages to register his 16th league goal of the season and wrap up a 10th consecutive victory in all competitions.
The win moved Man City to the top of the Premier League table ahead of the 3pm kick-offs, while Everton are guaranteed to finish the day in the bottom three.
After winning their previous five league games, Man City carried significant momentum into Saturday's lunchtime kick-off.
However, Man City were made aware from the outset that they would find it difficult to break through a stubborn Everton defence.
While the Toffees looked to remain resolute at one end of the pitch, they still offered the occasional threat at the opposite end of the Etihad Stadium.
Dwight McNeil produced a disguised pass to send Ben Godfrey through on goal in the eighth minute, but the Everton defender could find no way past the onrushing Ederson.
Although Man City continued to dominate possession, their best chance of the first period did not arrive until stoppage time.
Manuel Akanji pounced on a loose ball in the box, only to see his goalbound effort blocked by Everton centre-back James Tarkowski.
After going into the break on level terms, the visitors continued to frustrate Pep Guardiola's side in the opening 25 minutes of the second period.
However, their resistance was broken in the 71st minute when they were heavily punished for failing to clear their lines from a corner.
The Toffees could not prevent the ball from breaking to Haaland, who slammed home an unstoppable right-foot effort to score the crucial opener.
Everton's fading hopes of picking a positive result were quashed when Haaland added his and Man City's second with five minutes remaining of regulation time.
Haaland latched onto Kevin De Bruyne's neat pass, before using his strength to shrug offer Jarrad Branthwaite and slot past Pickford.
For a brief moment, Beto thought he had pulled a goal back for Sean Dyche's side, but the assistant's raised flag ultimately denied him
While Man City are now unbeaten in 13 competitive matches, Everton have now failed to win any of their last six league games.