Freiburg made it back-to-back wins with a 3-2 away victory over Werder Bremen in the Bundesliga on Saturday.
The visitors to the Weserstadion led on three separate occasions, with Matthias Ginter's 71st-minute effort proving the winner to send Christian Streich's men fifth in the German top flight.
Earlier, winger Max Kruse put Freiburg ahead on 36 minutes, but Bremen replied three minutes later through Nils Petersen.
Nine minutes after the interval, Daniel Caligiuri converted a penalty but Petersen's second ensured parity once more on 64 minutes before Ginter finally saw off Bremen's resistance.
Bremen have now lost three of their past five league clashes to be 11th in the table.
Elsewhere, Bayer Leverkusen went provisionally to second on the table with a 2-1 home win over Augsburg.
The result was barely in doubt after Stefan Kiessling opened the scoring on 26 minutes, with Lars Bender doubling the home side's lead at the BayArena with a quarter of an hour to play.
Sascha Moelders scored a late consolation for Augsburg, but it didn't save them from their first defeat since the winter break.
They are stuck in 19th place, no less than nine points from guaranteed safety but only one point behind Hoffenheim - who are in the relegation playoff place.
Former Tottenham forward Rafael van der Vaart fired Hamburg to a 1-0 home win over Borussia Moenchengladbach, lifting his side into sixth spot in the league.
Fortuna Dusseldorf overcame bottom side Greuther Furth 1-0 courtesy of Axel Bellinghausen's strike. The strugglers finished with 10 men after Jozsef Varga was sent off late in the first half.
A brace to Michel Bastos ensured Schalke of a point away to Mainz in a 2-2 draw.
Mainz led on two occasions when Andreas Ivanschitz and Zdenek Pospech fired them ahead, only for Bastos to equalise twice and break Schalke's two-match losing streak. More to follow