The fight for top four saw another twist as it was Haaland once again firing the shots for Die Schwarzengleben, in a vital encounter that will have a huge repercussions on the final Bundesliga standings.
Wolfsburg entered the game having not scored a single goal against Dortmund in eight Bundesliga games and extended that streak to nine – losing to a clean sheet at home.
Jude Bellingham saw his first career red card and Haaland scored a brace in an eventful night at the Volkswagen Arena, as Dortmund ran out 2-0 winners.
The Norwegian international gave Dortmund the perfect start just after ten minutes when Paulo Otavio weight-full pass fell into Haaland’s path and he went past John Brooks and Maxence Lacroix and scored, before either of them could win the ball.
The goal is Haaland’s 15th away goal of the Bundesliga season – equalling Pierre Emerick-Aubameyang’s 2016/17 tally, the most by any Dortmund player in the club's history.
Bellingham’s foul on Maximillian Phillip two minutes later would prove to be the Englishman’s first of two yellow cards as he was sent off in the second half.
Wolfsburg took charge of the game and controlled tempo after going one down but wastefulness and lack of creativity in the final-third played a key role in giving the visitor’s an upper hand going into the second half.
After an equal-footed first half, Wolfsburg made a strong start in the second. Wout
Weghorst knocked the ball over the crossbar before Manuel Akanji almost came close to doubling Dortmund’s tally with a header.
With 30 minutes left to play, Jude Bellingham saw his second yellow of the night for his rough challenge on Kevin Mbabu.
Haaland’s brace came on the end of a brilliant counter attack. Mahmoud Dahoud began the move after intercepting a pass from Brooks and sends a deft pass to Haaland, who made no mistake in dribbling past the Wolfsburg defence and slotting it past Casteels - the Norwegian’s 10th brace of the season.
With just three Bundesliga games to go for the two teams, Wolfsburg sit in third place with 57 points, two ahead of Dortmund, who sit in fifth position. Eintracht Frankfurt are sandwiched between the two with 56 points and a game left to play against Bayer Leverkusen.