The runaway leaders went in front through Thomas Muller's penalty early on and their hopes soon received another boost as home defender Fallou Diagne was sent off.
Freiburg did well to stand firm despite the setback and remain in the game until substitute Anatoliy Tymoshchuk finished them off in the 79th minute.
The win took Bayern further clear of their rivals and, even at this stage of the season, they look near certainties to regain the title.
Freiburg were presented with an early chance when Toni Kroos lost possession and the hosts moved the ball on to Julian Schuster, whose shot was gathered by goalkeeper Manuel Neuer.
Bayern were soon into their stride, though, with Mario Gomez, in the starting line-up after making a goalscoring return off the bench against Hannover at the weekend, trying to play in Muller, but his pass was just too long.
The visitors went ahead in the 12th minute when Oliver Sorg was penalised for a handball after Franck Ribery looked to go past him and Muller converted the resulting spot-kick, although goalkeeper Oliver Baumann got his hand to the ball.
Ribery than decided to shoot when Muller and Gomez were better placed and fired wide as Bayern threatened a second.
And things went from bad to worse for Freiburg in the 18th minute.
Diagne pulled Xherdan Shaqiri to the ground and, as last man, had to see red.
Freiburg had a penalty appeal of their own turned down when Javi Martinez kicked the ball into his own hand in attempted to clear a cross.
The visitors kept the pressure up after the break and Baumann's clearance fell to Ribery, whose volleyed return dropped wide of the left post.
But Freiburg missed a golden chance to equalise in the 63rd minute.
Daniel Caligiuri galloped down the left and crossed for Max Kruse who was unmarked in the middle, but his effort was parried by Neuer.
Instead Tymoshchuk, on as a second-half replacement for Shaqiri, put the game to bed 11 minutes from time.
Philipp Lahm's long ball sent him through on goal and he rounded Baumann and slid the ball into the empty net.