The champions staged another impressive rally as they overturned a 2-0 deficit to Palace at the Etihad Stadium in the first half.
Palace took the lead in the fourth minute when Eberechi Eze’s free-kick was deflected by John Stones who netted an own goal.
City fell further behind in the 21st minute when Palace defender Joachim Andersen headed unmarked into the corner from Eze.
But the champions who came back from 3-1 at Newcastle last weekend to draw the match had Bernardo Silva to them hope of a comeback with a 53rd-minute shot deflected by Jeffrey Schlupp.
City equalized in the 62nd minute when Phil Foden’s cross found Haaland and the former Borussia Dortmund striker headed his first home goal since arriving at the end of the season.
In the 70th minute, Haaland scored his fifth in four games, striking home after a smooth shot from Stones’ pass. The Norwegian sealed his hat-trick in the 81st minute with Silva’s pass.