Germany striker Mario Gomez, the league's top scorer, completed Bayern's rout with his 18th goal in 21 league games with a late strike after midfielders Bastian Schweinsteiger and Thomas Mueller had put Bayern ahead.
Mainz's Tunisia striker Sami Allagui scored a late consolation goal for the hosts, but Bayern warmed-up for Wednesday's Champions League last 16 game at holders Inter Milan with a win.
With Bayer Leverkusen playing relegation-threatened Stuttgart on Sunday, Bayern took their chance to go second, by virtue of a superior goal difference.
Dortmund stay on course for their first league title since 2002 with a home win over Hamburg-based St Pauli after Paraguay forward Lucas Barrios netted for the tenth time this season six minutes before the half-time break.
He then made sure Dortmund took all three points with a 49th-minute shot that took a deflection off St Pauli defender Ralph Gunesch on the way into the net for an own goal.
"The team kept their concentration and were very disciplined," said Dortmund coach Jurgen Klopp as his side picked up their first win of the month after drawing their previous two games.
"After talking about taking our chances, the team passed the test. We definitely earned the victory."
Leverkusen are still without ex-Germany captain Michael Ballack, who is expected to start on the bench after picking up a knee injury recently.
Hanover are fourth in the table after a 3-0 win over Kaiserslautern, with former Germany striker Jan Schlaudraff netting twice.
Hamburg coach Armin Veh left Dutch hot-shot Ruud van Nistelrooy on the bench for his side's 4-0 win over Werder Bremen on Saturday.
Van Nistelrooy has been unsettled in the Hanseatic city since former club Real Madrid tried to lure him back to Spain in January.
In the Dutchman's absence Peru striker Jose Guerrero netted twice, to leave Bremen just a point above the bottom three, while Hamburg are seventh.
Freiburg's Senegal striker Papiss Demba Cisse netted his 16th goal in 21 league games this season with a superb strike as he held off several defenders before stabbing the ball home on 70 minutes to seal a 2-1 win over Wolfsburg.
The defeat leaves Wolfsburg just a point above a relegation place as they lost again after sacking ex-England coach Steve McClaren a fortnight ago.
Cologne continue to pick up points and showed their fighting spirit with a 1-1 draw against Hoffenheim.
Nuremberg are up to eighth in the Bundesliga after their impressive 3-0 victory, their fourth straight win, against Eintracht Frankfurt on Friday night.
On Sunday, bottom side Borussia Moenchengladbach host Schalke 04, who drew 1-1 with Valencia in Spain in the last 16 of the Champions League in mid-week.