Dusseldorf holds Borussia Dortmund
Bayern Munich's hopes of regaining the Bundesliga title received another boost on Tuesday night as all three sides immediately behind them in the table failed to win.
Bayern travel to Freiburg on Wednesday knowing a win will extend their lead at the top to 11 points after neither Borussia Dortmund, Schalke or Eintracht Frankfurt could take advantage of their night off.
Second-placed Dortmund looked to be heading for victory at home to Fortuna Dusseldorf after Poland midfielder Jakub Blaszczykowski put them ahead in the 43rd minute.
But Jurgen Klopp's men were denied the points when Stefan Reisinger struck with 12 minutes to go to give the visitors a 1-1 draw, despite the late sending-off of Ivan Paurevic.
Maximilian Beistar put the hosts ahead in the 52nd minute and Artjoms Rudnevs added a second before Klaas-Jan Huntelaar gave Schalke hope with 10 minutes to go. A Milian Badelj penalty completed Hamburg's win in injury time.
Frankfurt have now won just one of their last five Bundesliga matches after falling 3-1 at home to Mainz, who ended a run of two straight losses.
Andreas Ivanschitz, Shawn Parker and Nikolce Noveski sent Mainz on the way to victory before an own goal by Adam Szalai. Mainz also had Julian Baumgartlinger sent off two minutes from time.
Mame Biram Diouf put the home side in front with just five minutes on the clock and Mario Eggimann added the second on 69 minutes after a neat assist from Jan Schlaudraff.