The Bundesliga outfit were three points behind Thursday night's hosts having struggled to draw three of their four opening games and needed to win in the Czech Republic to stay in contention for a place in the last 32.
Matthias Ginter gave them hope in the 23rd minute and Francis Coquelin settled their nerves with a second goal in the final 20 minutes.
There was, however, still time for Liberec, who had pushed the visitors hard all game long, to tee up a nervous finale through Sergiy Rybalka's strike.
It was an uninspiring start at the Stadio u Nisy, but the first real scoring chance yielded a goal for the visitors in the 23rd minute.
Sebastian Kerk found space down the right wing to tee up Ginter, who lobbed Premysl Kovar from 12 yards.
Liberec could have equalised immediately but Oliver Baumann was equal to Rybalka's driven effort.
Rybalka came close again in the 37th minute, this time with a volley on Jirri Fleisman's free-kick, and the Czechs turned the screw in stoppage time.
David Pavelka saw his close-range snapshot blocked by Fallou Diagne before Pavel Krmas put his body on the line to deny the Liberec midfielder from the middle of the box.
The hosts continued to probe following the restart and Michael Rabusic soon rattled a post.
Then, moments after Mike Hanke missed from six yards at the other end, Isaac Sackey steered his audacious effort wide.
Liberec had missed their opportunity and, in the 73rd minute, Coquelin gave Freiburg a 2-0 lead.
Once again the assist arrived from the wing as Christian Gunter stole down the left to find the Arsenal loanee in a great position to nod home.
The Czechs still had plenty of time to respond, though, and halved the deficit nine minutes from time.
Jiri Pimpara supplied the header across the box that fell to Rybalka, who slammed it beyond Baumann as hush descended among the travelling faithful.
Liberec might even have stolen a point in stoppage time, but what had seemed like an easy conversion for Rabisic ended up clattering the advertising hoardings.