Bayern go top with eighth win in a row
Nils Petersen, standing in for injured top scorer Mario Gomez, put them ahead and Thomas Muller pounced on a defensive blunder to add the second.
Earlier, champions Borussia Dortmund slumped to a second successive league defeat when they conceded two late goals to go down 2-1 at Hannover 96.
Bayern's run stretches to five Bundesliga games, one Champions League tie and their two-leg Champions League qualifier against FC Zurich.
The last goal they conceded, and only one in 10 competitive games this season, was in their 1-0 defeat at home to Borussia Monchengladbach on the opening day of the Bundesliga season on August 7.
They top the table with 15 points from six games, two ahead of Werder Bremen and Borussia Monchengladbach with Hoffenheim a further point back in fourth.
Petersen gave Bayern the lead in the 21st minute, scoring at the second attempt as he finished off Franck Ribery's run down the left.
Schalke, ninth with nine points, made a strong reply with Klaas-Jan Huntelaar missing the post by centimetres on two occasions.
However, Bayern took full control after half-time and wrapped up the game in the 75th minute when Schalke defender Kyriakos Papadopoulos fluffed a clearance and the ball fell to Muller, who fired home from six metres.
"This was the our best second half performance of the season," said Bayern coach Jupp Heynckes.
Dortmund are a modest 11th with seven points after their defeat.
Beaten 2-1 at home by Hertha Berlin a week ago and missing suspended midfielder Mario Gotze, Dortmund went ahead when Japanese midfielder Shinji Kagawa beat two defenders to score from 12 metres just after the hour.
But they fell apart when Tunisian defender Karim Haggui headed the equaliser from a corner for Hannover in the 87th minute and Ivorian forward Didier Ya Konan fired the winner from the edge of the penalty area two minutes later.
Hannover substitute Artur Sobiech was sent off in stoppage-time for an ugly tackle from behind after only seven minutes on the field.