Bayern Munich profited from a pair of Ralf Fährmann errors to move another step closer to a sixth straight title. Goals from Thomas Müller and Robert Lewandowski were enough to see them to a hard fought 2-1 win.
Bayern Munich 2-1 Schalke
(Lewandowski 6', Müller 36' - Di Santo 29')
It wasn't their most convincing win, but it was yet another Bayern Munich win. Goals from Thomas Müller and Robert Lewandowski helped the serial champions past Schalke, but Royal Blues' keeper Ralf Fährmann won't remember this one fondly.
If Fährmann's error for the first goal - parrying a fierce Müller drive in to the path of Lewandowski - was slight, his second was major. Soon after Franco Di Santo had got Schalke back in it with a sweetly struck half volley following some great work from Bayern-bound Leon Goretzka, Fährmann left far too much space at his front post, allowing Müller to give Bayern the lead once again.
This time it was to be one they wouldn't surrender. Schalke did threaten sporadically, with Goretzka and Breel Embolo looking dangerous, and were rightly denied a penalty when Guido Burgstaller went to ground. But Bayern know how to grind out wins in this league - that's 18 from 22 games this term.
They achieved this latest one without coach Jupp Heynckes in the dugout, after the 72-year-old fell ill. He may have felt even sicker when he found out Lewandowski's goal equalled his record for scoring in consecutive Bundesliga home games (11).
But Heynckes is unlikely to lose too much sleep over that one. Bayern are now 18 points clear at the summit.
As it happened:
FULL TIME: That's it. Bayern take the three points against a spirited Schalke.
90+2 - Coman nearly seals it with a curler but Fährmann gets fingertips to it.
89' - Bayern deal with a high free kick in to the box and manage a spell of controlled possession, which is exactl what they need. There will be three minutes of injury time.
85' - This is a lot tighter than Bayern fans would've hoped adter six minutes.
78' - di Santo makes way after a good showing, Konoplyanka comes on. Have Schalke got enough energy left to summon another chance? They've covered so much ground already...
74' - It's nearly three for Bayern, but Stambouli makes a great tackle to deny Lewandowski after Müller laid on the pass. A big moment in the game?
70' - Embolo stings the palms of Ulreich from the edge of the box. He's been a big threat.
65' - Alaba's free kick strikes the ear of Burgstaller who is replaced, perhaps coincedentally, by Harit, moments later.
63' - It seems our Twitter followers are predicting two more goals this half. Bit of work to do....
59' - Alaba has another crack from long range that flies over. Vidal goes in the book for a late one on Goretzka.
57' - Embolo snatches a little at a half chance. Schalke very much in this.
54' - Schalke are swarming Bayern quite effectively at the moment. The home side don't have as much control as they might like.
50' - DRAMA. Goretzka bursts through the lines and finds Burgstaller in the box. He tries to go round Ulreich and then throws himself to the ground. The Schalke players think it's a penalty, the referee sees it as a dive - replays show he's probably right. Burgstaller is booked.
49' - A much more low key opening to this half than the first....
46' - And we're back! The balls is rolling and the second half is underway. Can Scahlke find a way back?
HALF TIME: The referee blows for the break after a breathless opening. Bayern probably deserve to lead but Schalke have shown enough to keep the champions on their toes. See you in 15 minutes.
45+1' - Schalke have one last chance before the break but Naldo lashes a free kick over the bar.
43' - Embolo, who has looked bright in patches, almost forces something in the Bayern box but it doesn't drop.
40' - Goretzka misses a chance to make an impact at the place he'll soon call home. He controls a pass well on the edge of the box, wriggles away from a tackle but drags his shot wide.
36' - GOAL! Müller restores Bayern's lead and again Fährmann must take some blame.
Bayern had just had a half decent penalty shout turned down when Robben drove in from the right. This time he opted to pass to Müller. The angle should have been too tight but Fährmann left a yard at his near post and Müller took full advantage.
34' - Lewandowski with another decent chance. He's on to a loose ball in the area and hits a shot on the spin, but it's over the bar.
29' - GOAL! Di Santo equalizes for Schalke.
Well, we have a game on our hands. Di Santo tried a cross from the left that ran all the way through to Embolo. He crossed back, Goretzka got a slight touch on a botched bycycle kick and Di Santo buried it.
27' - That might have eoken them up. Bayern beat Schalke at their own game, winning the ball high up the pitch. It falls to Lewandowski, who whistles one over the bar.
25' - The camera cuts to Uli Hoeness and, just in front of him, Joachim Löw. Both men look a little bored.
22' - Schalke's three up top are trying to press high and force an error, as they did very early on. But Bayern are just too comfortable on the ball.
20' - Alaba unleashes one of his long range drives with the left and Fährmann is down well to push it out. Schalke's positive start is becoming a distant memory.
16' - Robben springs forward on the counter but his ball to Ribery is just behind the Frenchman and he can only strike a defender's shins. Then May Meyer goes in the book for what seemed a decent - if a touch aggresive - tackle.
12' - Ribery almost gets on the end of something but Fährmann is out quickly. There are probably questions about the Schalke keeper's part in the goal, some would argue he might've parried it away from goal. It was a rocket from Müller but still....
8' - Headers go over at both ends. Kehrer for Schalke, Lewandowski for Bayern. Breathless opening to this one.
6' - GOAL! Lewandowski, who else, opens the scoring.
A brilliantly worked move saw Bayern sweep from back to front in four or five passes and one delighful dummy. Müller then hammered a shot from 25 yards that Fährmann could only parry, and the Polish poacher did the rest.
4' - Naldo dumps Ribery to the ground on the touchline in a battle of the oldies. He esacpes a booking and Hummels flicks a header wide from the free kick.
2' - Kimmich takes a rare loose touch in midfield and Schalke break. Goretzka drives forward and finds Embolo. The Swiss striker is held up by a Bayern flick on the ball but gets a decent strike off, which Ulreich pushes away. Great start from the visitors.
1' - And we're off!
18:25 - That slightly unsettling flashing light display that marks the start of Bayern games is over with and we're almost ready to go at the Allianz Arena.
Bayern are looking to extend an unbeaten home run that stretches 32 league games but Jupp Heynckes will be missing today. The coach has been ill over the past few days and won't take his place in the dugout.
Leon Goretzka, who will join Bayern at the end of the season, starts for Schalke, while Arjen Robben and Franck Ribery both start for Bayern.