Borussia Dortmund closed in on the Bundesliga top six with victory, while Bayer Leverkusen stumbled to a 1-1 draw at Cologne.
Jurgen Klopp is spoiling for a fight at Bayern Munich in the German Cup semi-final as he looks to bow out with one last title.
Bayern Munich all but mathematically wrapped up the Bundesliga title thanks to a 1-0 win over Hertha Berlin.
Freiburg fought back from two goals down to snatch a point in a 2-2 draw at 10-man Stuttgart.
Michael Frontzeck's debut as Hannover coach ended in defeat as his side went down 2-1 at home to Hoffenheim.
Hamburg picked up their first win since early February by beating Augsburg 3-2.
Live only on
More of the games that matter on Sky Sports
Listen to the latest Premier League News
All the gossip from the morning editions
Predict six scores to win the £250,000 jackpot!
Win a trip to Barcelona with Police sunglasses