Nils Petersen, standing in for injured topscorer Mario Gomez, put them ahead and Thomas Mueller 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 Hanover 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 Moenchengladbach on the opening day of the Bundesliga season on Aug. 7.
They top the table with 15 points from six games, two ahead of Werder Bremen and Borussia Moenchengladbach 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 halftime and wrapped up the game in the 75th minute when Schalke defender Kyriakos Papadopoulos fluffed a clearance and the ball fell to Mueller, who fired home from six metres.