Mario Gotze, Kevin Grosskreutz and Robert Lewandowski provided the goals for the defending champions with Sven Schipplock on target for the hosts, who end the year in their worst league position since joining the top flight in 2008.
They will spend the winter break seven points adrift of safety in the relegation play-off berth with a lot of work to be done in 2013 to salvage their Bundesliga status.
Neither side could really get their game going in a tight start to the encounter but Dortmund struck first with a moment of inspiration from Gotze.
The Germany international pulled the ball back on to his favoured right foot near the corner of the penalty area and struck his shot through the legs of home defender Andreas Beck and into the net.
Hoffenheim reacted furiously and levelled within 10 minutes when Kevin Volland’s volleyed cross was guided over the line by Schipplock.
However, Hoffenheim’s reaction stopped there as they settled down again after equalising.
Dortmund were anything but happy with a point, though, and inspired by Marco Reus, they began carving out openings.
It was Reus who set up Grosskreutz to put them in front for the second time in the 58th minute.
Eight minutes later, Lewandowski made it three, beating Matthieu Delpierre before lifting his shot over Hoffenheim goalkeeper Koen Casteels into the far corner.
Dortmund continued to attack in search of a fourth goal and Mats Hummels went closest to finding it when he headed straight at Casteels from a Reus corner.
In the other Sunday game, Nils Petersen scored the last Bundesliga goal of 2012 to earn Werder Bremen a point at home to Nurnberg.
The former Bayern Munich striker struck just two minutes from time to salvage a point after Nurnberg had taken a shock lead six minutes earlier through Timo Gebhart.
Nurnberg goalkeeper Raphael Schafer was kept busy throughout the 90 minutes with Bremen more disappointed than Nurnberg to end the year with a draw.