Borussia Dortmund recorded one of the biggest win of the matchday as Bundesliga teams return from the Coronavirus break.
The win at Signal Iduna Park has mounted more pressure on Bayern Munich as they take on FC Union Berlin away from home.
The Bavarians lead the charge but had to watch Dortmund reduce the gap at the summit to a single point.
Haaland scored first before Raphael Guerrero extended Dortmund’s lead to two.
Thorgan Hazard made it three as Guerrero wrapped up the game with his second of the matchday.
But Bayern Munich now has a task at hand ensuring a win over Union Berlin to preserve their four points lead at the top which was reduced as a result of Dortmund’s win over Schalke.
Players to watch
Union forward Marius Bülter has netted his previous three league goals after half-time. Meanwhile, Bundesliga top scorer Robert Lewandowski has netted four of his last five competitive strikes for Bayern after the 60th minute.