Pep Guardiola got the reaction he was hoping for from the English champions after questioning their hunger to retain the title after Thursday's 4-2 win over Tottenham.
The hosts had to come from 2-0 down in a dramatic second half against Spurs, but there was little mystery over the destination of the three points once Haaland had broken Wolves' resistance five minutes before half-time.
Haaland's scoring rate has slowed marginally in recent weeks, but his header from Kevin De Bruyne's cross moved him level with the 23 league goals that saw Mohamed Salah and Son Heung-min share the Golden Boot with last season.
The 22-year-old took his tally to 30 goals in all competitions from the penalty spot early in the second half after Ilkay Gundogan had been upended by Ruben Neves.
Wolves then gifted Haaland his hat-trick just four minutes later as goalkeeper Jose Sa presented the ball to Riyad Mahrez, who unselfishly squared for his teammate to roll into an unguarded net.
Guardiola quickly took the chance to give his star striker a rest as Haaland was replaced on the hour mark by Julian Alvarez to Wolves' relief.
City should still have inflicted further punishment on Julen Lopetegui's men.
Mahrez just failed to hold his run as he was flagged offside after dinking in De Bruyne's through ball before Gundogan headed a glorious chance over.
But three goals were more than enough for the three points to put pressure on Arsenal ahead of their clash at home to Manchester United later on Sunday.
Just a second league defeat since Lopetegui took charge leaves Wolves still outside the relegation zone only on goal difference.
Leeds edged one point clear of the bottom three, but remain without a league win since November after a 0-0 draw at home to Brentford.
David Raya denied the in-form Wilfried Gnonto with the best save of the game to salvage the Bees a point that moves them above Liverpool into eighth.