© Getty Images
The hosts' early momentum paid off and they were ahead after 17 minutes as Sven Schipplock finished off a counter-attack to slot low.
It got better for Hoffenheim with just over five minutes of the half left as Kevin Volland struck a low shot to make it 2-0.
However, Dortmund got a lifeline just before the break through Aubameyang, who fired in from close range after Lewandowski flicked on a corner.
In the second half Dortmund peppered the home goal but it was beginning to look like they would be out of luck.
Lukasz Piszczek rifled in a finish from close range, but neither side could find the fifth goal that would have won the match.