Bundesliga top-scorer Mario Mandzukic headed them in front just before the break with Bastian Schweinsteiger sealing victory shortly after the interval.
Stefan Kiessling nodded in a consolation in stoppage time to make the final score 2-1.
With Borussia Dortmund losing earlier on Saturday, Bayern now have a 23-point advantage at the top of the table and could wrap up the title quicker than anybody ever before with a win at Mainz next weekend.
Borussia Monchengladbach picked up their first win of 2014 as they completed a league double over Dortmund with a 2-1 win at the Westfalenstadion.
The visitors weathered a storm before Raffael put them in front and Max Kruse added a second for Lucien Favre's men before the interval.
Havard Nordtveit was sent off midway through the second half and Milos Jojic reduced the arrears with 13 minutes to go, but Dortmund were unable to find an equaliser as they lost to Gladbach for the second time this season.
Mainz recovered from two goals down to win 4-2 at Hoffenheim and boost their chances of playing in Europe next season.
Eugen Polanski and Roberto Firmino gave Hoffenheim the lead after the first half ended goalless.
Three goals in eight minutes then saw Mainz turn the game around with Eric Maxim Choupo-Moting, Benjamin Saller and Shinji Okazaki all on target. Okazaki struck again in stoppage time to seal Mainz's win and take them up to fifth in the table
Elsewhere, Hannover celebrated victory on the road for only the second time this season as they recorded a 3-0 victory at Hertha Berlin to ease their relegation worries.
Lars Stindl, Jan Schlaudraff and Szabolcs Huszti were all on target in the second half for Tayfun Korkut's men.
Bottom-placed Eintracht Braunschweig earned a valuable point in their fight against relegation from the Bundesliga by holding Wolfsburg to a 1-1 draw.
Luiz Gustavo put the Wolves ahead after 36 minutes, but Karim Bellarabi salvaged a point for the hosts three minutes after the interval.
In the other game, Werder Bremen and Stuttgart split the spoils in a 1-1 Bundesliga draw at the Weserstadion.
Georg Niedermeier gave Stuttgart the lead after 55 minutes before Aaron Hunt scored the equaliser for the home side in the 79th minute.