Marco Reus put the Westphalians in front in the ninth minute with Pierre-Emerick Aubameyang doubling their lead early in the second half.
Aubameyang added a third, allowing Dortmund to celebrate a much-needed win and lift them off the foot of the table and above their hosts.
There was some more tinkering to the Dortmund team with Aubameyang starting up front instead of Ciro Immobile, who found himself back on the bench.
Meanwhile, Shinji Kagawa made his first start in the Bundesliga since November as Klopp continues to search for a winning formula.
The Japanese midfielder almost gave Dortmund a flying start too, but his shot was saved well by Roman Burki, who then denied Ilkay Gundogan from long range, tipping his shot over the crossbar.
Another effort from distance from Gundogan was saved by Freiburg’s Swiss goalkeeper, who was beaten in the ninth minute by Reus after Aubameyang intercepted Mike Frantz’s weak backpass before feeding his team-mate for the easiest of finishes.
Dortmund continued to lay siege on the Freiburg goal and had it not been for the heroics of Burki, the game could have been over as a contest by half-time.
It was over 10 minutes into the second half when Aubameyang doubled Dortmund’s lead, putting the finishing touch to a swift counter-attack with Gundogan the provider.
Dortmund were playing counter-attacking football in textbook fashion and they added a third goal in the 72nd minute when Kagawa sent the ball to Aubameyang, and he dispatched his shot into the bottom right-hand corner to seal victory.