Germany international Reus settled the top-of-the-table showdown nine minutes into the second half, marking his 250th league appearance in style in BVB's final outing before the mid-season break.
Dortmund, who suffered their first Bundesliga loss of the season against Fortuna Dusseldorf on Tuesday, had been pegged back when Christoph Kramer controversially cancelled out Jadon Sancho's excellent opener.
Reus tested Yann Sommer with a 20th-minute drive following a quiet start to proceedings, while Paco Alcacer prodded wide from 12 yards.
Despite losing Alcacer to a hamstring injury in the 34th minute, BVB continued to see more of the ball and made the breakthrough thanks to Sancho's low shot from an acute angle.
Gladbach were level before the break when Kramer fired past Roman Burki from close range - the goal allowed to stand despite the midfielder heading the ball onto his hand in the build-up.
Reus put Dortmund back in front with a sliding finish from substitute Mario Gotze's fine pass to the back post, before hitting the post with a 65th-minute free-kick.
Favre's team saw out the win confidently and will not return to action until January 19, when they travel to RB Leipzig.