With Gladbach coach Marco Rose facing his future team after agreeing earlier this month to join Dortmund next season, Sancho piled more misery on their opponents, who have now lost the last four games in all competitions since Rose announced his decision.
The hosts put the ball in the net on the stoke of halftime but Marcus Thuram's effort was ruled out for offside after a VAR review.
Haaland also thought he had scored early in the second half only for the effort to be ruled out again by VAR.
There was nothing wrong with Sancho's goal, however, as he finished off a break that started from a Gladbach corner into the Dortmund box, with his shot going in off the post in the 66th minute.
Gladbach keeper Tobias Sippel then denied Haaland in the 83rd before Dortmund were reduced to 10 men after Mo Dahoud received a second booking in stoppage time.
The Ruhr valley club has bounced back after a recent bad run, having won their last four games in all competitions, including a 3-2 victory over Sevilla in their Champions League round of 16 first leg .
The game between Jahn Regensburg and Werder Bremen was postponed after a number of Regensburg players tested positive for the coronavirus.