Champions Bayern Munich beat Schalke 3-1 on Saturday to climb back into second place and cut the gap on Bundesliga leaders Borussia Dortmund to five points.
Goals from Robert Lewandowski and Serge Gnabry after a Schalke own goal lifted the Bavarians, who bounced back from last week's loss to Bayer Leverkusen and face Liverpool in the Champions League round of 16 later this month, to 45 points.
Dortmund are on 50 points after wasting a three-goal lead to draw 3-3 with Hoffenheim earlier on Saturday. Borussia Monchengladbach dropped to third on 42 after losing 3-0 to visiting Hertha Berlin.
Jeffrey Bruma's own goal on his Schalke debut put the hosts ahead before Ahmed Kutucu, making his first Bundesliga start for Schalke after scoring in the German Cup in midweek, levelled in the 25th minute.
It was the Pole's 100th goal in Bayern's Allianz Arena, the first player to do so since the stadium opened in 2005.
Schalke, last season's runners-up, came close to another equaliser early in the second half and twice hit the woodwork.
But Gnabry killed off their hopes when he wrong-footed keeper Ralf Faehrmann with a clever header from a Lewandowski bicycle kick.
"We did it really in the first half," said Bayern coach Niko Kovac, whose team also earned a midweek extra time win over Hertha Berlin in the German Cup.
"In the second half only at times.
"One could see in the second half that we had played 120 minutes in the German Cup a few days earlier. But overall it was a deserved victory."
Schalke dropped to 13th on 22 points, seven above the relegation zone.