Nine points separate Bayern from Bremen and Schalke - 1-0 winners at Hamburg - and victory over the defending champions, coupled with a double-digit superiority in goal difference, would make Ottmar Hitzfeld's side all but unstoppable.

Bremen were lucky just to get a draw after twice falling behind at Karlsruhe.

The home side took the lead through Sebastian Freis in the 15th minute but Diego equalised eight minutes later and Mesut Ozil put Bremen in front after 29 minutes.

Freis scored a second in the 59th minute to level the scores again and Edmond Kapllani put Karlsuhe in front after 67 minutes, a lead which lasted until three minutes from time when Boubacar Sanogo scored for Bremen.

Kevin Kuranyi netted the only goal of the game after just two minutes as Schalke took the win at Hamburg which kept them mathematically in the title race.

At the other end of the table, basement side MSV Duisburg gave their survival hopes a boost with a 1-1 draw at Bochum.

The visitors believed they were on course for three points after Claudio Niculescu put them in front after 26 minutes but Stanislave Sestak levelled six minutes from time.

The draw leaves them three points from safety, one behind Nurnberg and Hansa Rostock, who were 2-1 losers at 10-man Cottbus.

Rostock led thanks to Djordjije Cetkovic's 16th-minute goal and a win looked even more likely when Igor Mitreski was sent off after 42 minutes.

But they conceded an equaliser to Timo Rost eight minutes from the end and the winner to Dimitar Rangelov in stoppage time.

Victory lifted Cottbus five points from the drop zone.

Nurnberg threw away a two-goal half-time lead at home to Arminia Bielefeld. Marek Mintal opened the scoring after 28 minutes and Ivan Saenko doubled Nurnberg's lead 10 minutes later.

But Artur Wichniarek pulled a goal back two minutes into the second half and Markus Bollman equalised in the 68th minute.

Hannover also had to settle for a 2-2 draw after leading 2-0 as they took a point from their match with Hertha Berlin.

Goals from Mike Hanke (18) and Jiri Stajner (26) should have won the game but Hertha replied with Sofian Chahed's 56th-minute penalty and a goal from Lukasz Piszcezek (65).