Nils Petersen and Thomas Muller were on target for the Bavarian giants, who earned an impressive win away to their Ruhr rivals
Nils Petersen opened the scoring on 22 minutes, and Thomas Muller made it 2-0 with a quarter of an hour left to play.
After a lively start in which neither team could find much space in midfield, Franck Ribery seized his first opportunity to run at the Schalke defence, and made a surging run from deep in his own half before playing Petersen through on goal. The striker, who stood in for the injured Mario Gomez, had his first effort blocked by goalkeeper Ralf Fahrmann, but pounced on the rebound and drove home the opener.
Bayern and Petersen in particular missed a host of chances to put the game away, but only managed to double their advantage in the 75th minute. Substitute David Alaba linked well with Ribery, and after a poor touch by Kyriakos Papadopoulos, Muller volleyed home from close range.
Aside from the opener, chances for Bayern were very limited in the first half, and it was instead the hosts who were more impressive overall in the first half. A loose Ribery back pass set up Klaas-Jan Huntelaar with a chance on goal in the 29th minute, but the striker fired narrowly wide. Four minutes later, Huntelaar had another clear opportunity, but his well-taken volley again missed the target by the thinnest of margins.
The hosts' were almost made to pay a second time for their wastefulness, but Jerome Boateng's header on 43 minutes sailed narrowly wide, and the visitors entered half-time with a one-goal advantage.
Things changed completely after the break, as Bayern pressed for a second goal and began to dominate the play. Within the opening minutes, Petersen squandered a pair of clear chances, but the youngster curled one short wide, and later sent the ball wide with an open goal waiting.
Muller ought to have scored long before his goal, but had a sliding finish miss the target after a fine through ball from Philipp Lahm.
Bayern's second goal was a long time coming, and Muller's strike silenced the home fans, and finished off any hope Schalke could have of taking a point. The final quarter hour of a previously hotly contended game ended with all the intensity of an exhibition as the hosts succumbed to defeat.
The result sees Bayern reclaim their lead in the Bundesliga standings, as they move two points clear of Werder Bremen and Monchengladbach. Schalke slip further in the standings to ninth place, having lost their last two games.