Bundesliga wrap: Dortmund take charge in snow
In an extremely scrappy affair, the Bundesliga champions carried on from their Champions League win over Real Madrid on Tuesday with second-half goals from Neven Subotic and Mario Gotze.
The win restores some hope for Dortmund in their title defence with the margin cut to nine points to leaders Bayern Munich, who face Bayer Leverkusen on Sunday.
The wintry temperatures gave rise to a cagey start as both teams struggled to find a rhythm, with Freiburg in particular being hampered by the thick snow when attacking.
Dortmund did not relent and they finally got their reward for a bright start to the second half when Marco Reus' whipped free kick was headed on by Subotic inside 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.
Dortmund sealed the win in the 83rd minute, as Robert Lewandowski fed Gotze to drill a shot home.
Schalke extended their unbeaten streak in all competitions to seven with a 1-0 over Nurnberg courtesy of Jefferson Farfan's 77th-minute effort.
Wolfsburg responded to the sacking of Felix Magath with a 4-1 win at 10-man Fortuna Dusseldorf as Bas Dost struck two of three goals in the space of 14 minutes after half-time.
The win lifts Wolfsburg off the bottom of the table and is their first since August.
Adam Szalai bagged a hat-trick for Mainz in a 3-0 home over Hoffenheim, who became the first side to concede 20 goals this season.
Greuther Furth drew 1-1 at home to Werder Bremen, who equalised through Nils Petersen just before half-time.