- Marco Reus (43')
- Ozan Kabak (90'+3')
In an entertaining first half Hoffenheim had enough chances to take the lead, but it was the hosts who broke the deadlock in the 43rd minute when Jamie Bynoe-Gittens found enough space down the left to feed Reus inside the box and the midfielder rifled a curling shot into the top corner.
Hoffenheim ended the game with 10 men after Ozan Kabak was sent off with a second booking in second-half stoppage time.
Dortmund have now won each of their three German Cup encounters against Hoffenheim.
Bundesliga leaders Bayer Leverkusen also advanced with a 5-2 win at Sandhausen. Bundesliga club Freiburg crashed out of the competition after losing 3-1 at home to second tier Paderborn.
- Harm Osmers