Bastian Schweinsteiger and Mario Mandzukic put Bayern two goals to the good after 22 minutes before Franck Ribery and Claudio Pizarro added further strikes in the second half to extend the team's unbeaten run in the Bundesliga to 31.
Both sides enjoyed winning starts to their UEFA Champions League campaigns in midweek and made one change from their European outings, with Schalke bringing in Jermaine Jones in place of Marco Hoger.
The champions named Schweinsteiger in their starting lineup, with Thomas Muller dropping to the bench.
David Alaba almost made it two goals in four days after nine minutes, flashing a free-kick just wide for the visitors, before Toni Kroos curled over from inside the box on what was his 150th Bundesliga appearance.
Adam Szalai should have opened the scoring 16 minutes in, but he failed to connect sufficiently with a Kevin-Prince Boateng cross and Bayern was able to clear.
But the visitors did edge ahead 21 minutes in courtesy of the returning Schweinsteiger.
Arjen Robben's corner found the unmarked midfielder, who headed into the far corner of the goal beyond the despairing lunge of defender Astuto Uchida on the line.
Mandzukic doubled Bayern's lead just a minute later, again through a header, this time from Alaba's delivery.
The Croatia international's effort beat Timo Hildebrand before striking Benedikt Howedes on the line and dribbling in.
Schalke had not conceded in three games going into Saturday's clash and will have been relieved to see Robben's strike deflected wide just short of the half-hour mark.
Mandzukic shot over from inside the area after good work from Robben on the right, six minutes after the break, as Pep Guardiola's side pressed for a third.
While the hosts had plenty of possession, they were unable to make it count, with their final ball letting them down as they searched for a way back into the game.
Boateng's off-target header from a Julian Draxler cross just after the hour was Schalke's first opportunity of the half but Bayern's lethal touch was soon evident again on 74 minutes.
Alaba played the ball across the box into the path of the arriving Ribery and, despite a less-than-perfect touch from the France international, the ball rolled past Hildebrand to put the visitors 3-0 up.
Pizarro added a fourth seven minutes from time with a simple tap-in after good work from fellow substitute Muller, as Bayern made it five wins from six in the league this season.
Munich shares the same points and goal difference as Dortmund, which was held 1-1 by Nurnberg earlier in the day.
Follow GOAL.COM on Twitter
- Sports & Recreation
- Bastian Schweinsteiger
- Mario Mandzukic
- Borussia Dortmund
- Franck Ribery
- Claudio Pizarro
- Arjen Robben
- David Alaba