Max Kruse scored twice as Freiburg moved ahead of Borussia Monchengladbach in the race for Europa League qualification.
Kruse, a summer signing from St Pauli, took his tally for seven in the league this season with a second-half double.
It put his side a point ahead of their opponents, and level with Eintracht Frankfurt and Mainz in the Europe League spots.
Freiburg went into the match on the back of two heavy defeats, a 5-1 hammering at the hands of Borussia Dortmund following a 5-2 loss at home to Wolfsburg.
They needed to get back on track or risk falling out of European contention, but it was the visitors who started the brighter.
Luuk de Jong headed straight into the arms of goalkeeper Oliver Baumann.
Freiburg slowly grew into the match, though, albeit without unduly troubling Marc-Andre ter Stegen in the Gladbach goal.
But the away side almost snatched the lead early in the second half.
With the match threatening to stagnate as both teams squandered possession far too often in midfield, Patrick Herrmann broke into the hosts' area on the counter-attack and from an acute angle fired in a shot which struck the bar.
Suddenly the match came back to life again, De Jong again seeing a header saved by Baumann, while at the other end Daniel Caligiuri was denied first by Ter Stegen and then by defender Filip Daems on the line.
Freiburg took the lead in the 69th minute and it was Kruse, who has been strongly linked with a move to Gladbach in the summer, who got the goal.
The hosts surged up field and Kruse was given plenty of time to dive a left-footed shot into the corner of the net.
And the forward sealed the points for Freiburg in the last minute.
Late substitute Ivan Santini raced clear, got his head up and with his pull-back picked out Kruse, who had only to tap the ball into an empty net.