BVB had to wait until the 75th minute to break the deadlock when Hofmann put his side in front and a Reus penalty five minutes from time ensured Kevin Kratz's late strike was nothing more than a consolation for the visitors.
Roman Weidenfeller was back in goal for last season's runners-up, while Henrikh Mkhitaryan made his German top-flight debut and fellow close-season signing Sokratis came into defence for Neven Subotic.
Ilkay Gundogan missed out after injuring his back while on international duty for Germany on Wednesday.
There was also a change in goalkeeper for the visitors as Daniel Davari replaced Marjan Petkovic, while Marcel Correia came in for Deniz Dogan in defence.
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 defence before the away side cleared.
Former Shakhtar Donetsk playmaker 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 Davari's 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 Davari 58 minutes in.
Six minutes after the hour mark, Aubameyang again had a glorious opportunity to put his side ahead but blazed over after being unmarked in the box.
Robert 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 their 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 on 74 minutes.
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.
Kratz pulled a goal back for the visitors from a corner a minute from time, but this proved to be merely a consolation as Dortmund wrapped up a hard-earned three points.