Jerome Boateng opened the scoring after five minutes and Mario Gomez doubled Bayern's advantage in the 17th minute before Rafinha (24) made it three.
The visitors were handed a chance to get back into the game at the start of the second half but Timmy Simons saw his penalty saved by Tom Starke, and Xherdan Shaqiri sealed the rout before the hour mark to comprehensively end Nurnberg's nine-game unbeaten run.
Borussia Dortmund eased to an untroubled 6-1 win at bottom side Greuther Furth. Goals by Mario Gotze and Ilkay Gundogan put the visitors in charge inside 15 minutes, while a Jakub Blaszczykowski strike and further efforts by Gundogan and Gotze made it 5-0 at the break.
Edgar Prib hit a fine consolation for Furth in the 71st minute before the league's top scorer Robert Lewandowski made it 6-1 late on.
Son Heung-min scored a brace as Hamburg won 2-1 at Mainz to stay alive in the race for a Europa League berth. Son found the net in the 61st and 81st minutes to give Hamburg a 2-0 lead before Shawn Parker made it 2-1 in the dying minutes.
Hoffenheim missed a chance to gain three important points in the relegation fight as they gave up a late goal in a 2-2 draw at Wolfsburg.
Maximilian Arnold gave Wolfsburg the lead after 13 minutes, but Sejad Salihovic levelled with a penalty 10 minutes before half-time and Andreas Beck turned the game on its head in the 63rd minute. However, Hoffenheim could not hang on and Naldo equalised with four minutes left.
Fortuna Dusseldorf and Werder Bremen also drew 2-2 as both sides failed to get the three points they wanted to ease their relegation jitters.
Stefan Reisinger twice put Dusseldorf in front, in the second and 48th minutes, but Zlatko Junuzovic's strike and Martin Latka own goal meant it ended all square.
The day's late game also ended in a 2-2 draw as Schalke were held at home by Bayer Leverkusen.
The hosts will nevertheless be happy with the result after recovering from two goals down to edge a point clear of Freiburg in fourth place and remain on course for Champions League place.
Simon Rolfes gave the visitors the lead five minutes before interval while Michal Kadlec made it 2-0 just shy of the hour mark.
The hosts refused to lie down, however, and Teemu Pukki brought them back into the game before Raffael's penalty, awarded following a red-card challenge by Omer Toprak, ensured it ended in a draw.