Dortmund are on 67 points in second place, one behind leaders Bayern Munich, 6-0 winners over Schalke 04 earlier on Saturday. Dortmund travel to Augsburg next weekend while Bayern face Champions League hopefuls, RB Leipzig.
The hosts shot out of the blocks and went in front after five minutes when Donyell Malen nodded in from close range after Sebastien Haller's shot from the edge of the box got deflected.
Jude Bellingham slotted in a penalty in the 18th minute before Haller's spectacular backheel flick made it 3-0 just two minutes later.
With Gladbach down for the count, Haller added another goal with a well-timed volley from Malen's cutback in the 32nd.
Dortmund gradually eased off, allowing Gladbach to pull back a goal with a Ramy Bensebaini spot kick in the 75th minute and further cut the gap with Lars Stindl's low drive five minutes before the end.
But Gio Reyna struck again for the hosts with the last kick of the game to make it 5-2