Goals from the centre-back and Germany international were the difference as Jurgen Klopp's men ground out a victory in poor conditions after two games without tasting triumph
In an extremely scrappy affair, two second-half goals, one from Neven Subotic and the other courtesy of Mario Gotze, were enough to get BVB's Bundesliga defence back on track after a dire opening period.
The wintry temperatures gave rise to a cagey start as both teams struggled to find a cohesive rhythm, with Freiburg's attack particularly hampered by the thick snow.
Nevertheless, it was the hosts who threatened first. After seeing two headers blocked at the near post, Daniel Caligiuri lifted the ball into the middle and in his attempts to clear it away, Lukasz Piszczek diverted the ball towards his own net and was fortunate Marcel Schmelzer's touch guided it against the post.
Oliver Baumann had already made a relatively comfortable save from a Marco Reus free kick in the opening stages and it was another BVB set piece that called the keeper into action again, with Mats Hummels agonisingly close to diverting Schmelzer's dead-ball delivery into the net after 27 minutes.
Freiburg were giving a good account of themselves against the reigning champions, but they were guilty of failing to take their chances. Fallou Diagne was unable to keep down a free header from 10 yards out, before Julian Schuster's mazy run ended with a pull-back that no one was on hand to tap in.
Klopp clearly had some strong words for his side during the break and they began the second half in a far more aggressive manner.
After Piszczek failed to capitalise on Reus' smart pass within a minute of the restart, BVB wasted another chance in the 51st minute. Kevin Grosskreutz made his first contribution with a drive to the byeline but Gotze blazed his team-mate's resulting cross over the bar.
Dortmund did not relent and they finally got their reward for a bright start to the half in the 54th minute. Reus' whipped free kick was flicked on off the head of Subotic and the ball bounced in at the far post.
Freiburg could well have drawn level moments later, but Erik Jendrisek saw his eight-yard effort poked away by the onrushing Roman Weidenfeller.
The game soon returned to the scrappy, disorganised football that plagued the first half and as a result opportunities were again few and far between.
Despite that, Dortmund managed to confirm the win in the 83rd minute, as Robert Lewandowski fed Gotze, who drilled a shot past Baumann and into the bottom corner.
Victory ensures that BVB hold onto fourth position, temporarily nine points off top spot, while Freiburg drop down to 10th place.