Mateo Kovacic and Bernardo Silva struck after Marius Hoibraten's own goal opened the scoring as City set up a clash with South American champions Fluminense in Friday's final in Jeddah, Saudi Arabia.
City have won only one of their last six Premier League matches and fallen behind Arsenal and Liverpool in the title race. But they were never troubled as an unblemished record for European sides against Asian teams at the Club World Cup was extended to 14 games.
Haaland sat out a third consecutive game due to a foot injury, with the Norwegian facing a race against time to be fit for the final.
However, Haaland still provoked the biggest cheer of the night from a barely half-full King Abdullah Sports City Stadium when he offered the crowd a wave as he appeared on the big screens during the first half.