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.