BVB had to wait until the 75th minute to break the scoreless deadlock when Hofmann put his side in front, and a Reus penalty five minutes from time ensured Robert Lewandowski's late own goal was nothing more than a consolation for the visitors.
Braunschweig had the first opportunity after just three minutes when Dennis Kruppke turned his effort past Weidenfeller's far post.
Dortmund then had two good chances as Pierre-Emerick Aubameyang and Jakub Blaszczykowski were both played in behind the Braunschweig defense before the away side cleared.
Former Shakhtar Donetsk playmaker Henrikh Mkhitaryan then had his first sight of goal, shooting over after 23 minutes, before Nuri Sahin curled a free-kick over 13 minutes later.
With neither side able to force a breakthrough in what was a low-key half, the scores were level at the break.
Five minutes into the second half, Sven Bender fizzed a strike past the right-hand post before Sahin struck a loose ball well over from inside the box.
Dortmund continued to apply pressure with Aubameyang forcing a good close-range save from Daniel Davari 58 minutes in. Six minutes after the hour mark, Aubameyang again had a glorious opportunity to put his side ahead, but he blazed over after being unmarked in the box.
Lewandowski was the next to spurn a chance for the home side, as the Poland international failed to get a strong enough connection on his effort from inside the six-yard box.
Eventually though, Dortmund got its breakthrough courtesy of substitute Hofmann, who had come on for Aubameyang.
The 21-year-old played a well-worked one-two with Mats Hummels before slotting home to give the home side a deserved lead. Hofmann was again involved in the second goal 11 minutes later when he was brought down by Ermin Bicakcic in the area, with Reus slotting home the resulting penalty.
Lewandowski's own goal pulled one back for the visitors from a corner a minute from time, but Dortmund held on to stay atop the Bundesliga table following a season-opening win over Augsburg.
- Sports & Recreation
- Robert Lewandowski
- Jonas Hofmann
- Marco Reus