Borussia Dortmund closed in on the Bundesliga top six with victory, while Bayer Leverkusen stumbled to a 1-1 draw at Cologne.
Freiburg fought back from two goals down to snatch a point in a 2-2 draw at 10-man Stuttgart.
Borussia Dortmund responded to the news of Jurgen Klopp's imminent departure with a 3-0 victory over Paderborn,
Freiburg's comeback fell short as they went down 3-2 at home to Mainz on Saturday.
Schalke's hopes of playing in the Champions League suffered a setback after a goalless draw with Freiburg.
Freiburg beat Cologne 1-0 on Saturday to open clear water between themselves and the relegation zone.
Live only on