Three goals in five minutes helped Dortmund turn the game around after Jonathan Schmid had given the visitors the lead in the 28th minute.
Nuri Sahin got his name on the scoresheet twice as the Westphalians left their opponents no chance and cemented their second place in the table, Robert Lewandowski also netting a brace while Leonardo Bittencourt got a late fifth.
Freiburg's first goal in Dortmund in over 11 years, a close-range volley from Schmid, appeared to sting the home side.
The last player to score for Freiburg in the Westfalian city was Sebastian Kehl, the current Dortmund captain who missed out injured, and the man who replaced him in the starting XI inspired an immediate comeback.
Sahin teed up Lewandowski, who set a new club record by scoring in his eighth game in a row, heading past Oliver Baumann in the 41st minute.
Sahin then put Dortmund in front by himself, scoring his first goal since arriving at the club in January with a diagonal strike past Baumann.
Lewandowski then gave Dortmund a two-goal cushion to take into the break with them, pouncing on a poor clearance from Freiburg debutant Christian Gunter to score.
Marco Reus nearly made it four immediately after the break, but Baumann denied him.
Sahin got the fourth goal in the 73rd minute, striking the ball into the roof of the net to complete a perfect day for him.
And it was a perfect day for Dortmund too with Bittencourt making it five with his first touch of the game in the 78th minute.