
The Bavarians, who face Manchester City in the Champions League quarterfinal first leg next week, had been beaten at home by Freiburg 2-1 in the German Cup last eight on Tuesday.
Desperate to make amends and protect their Bundesliga lead, Bayern had possession and a couple of good chances in the first half.
But it was Freiburg who came closer to scoring with Ritsu Doan catching Bayern’s Alphonso Davies napping on the stroke of halftime but sending his effort onto the post.
De Ligt then took matters into his own hands after the interval, breaking the deadlock and beating keeper Mark Flekken with his unstoppable missile into the top corner.
The Bavarians should have scored again with Leroy Sane on the hour later but the player chipped over the bar with only Flekken to beat.
They lead the title race on 58 points, with Borussia Dortmund on 56 in second place.