Borussia Dortmund extended their lead at the top of the Bundesliga thanks to a 2-1 win at Freiburg in a tense match at the Dreisam Stadion.

An own goal from Mats Hummels put Freiburg in front after 26 minutes but Dortmund substitute Robert Lewandowski levelled 15 minutes from time. Another own goal, this time from Mensur Mujdza in the 78th minute, put the league leaders in front. However, there was more drama to follow in the final 10 minutes. Jakub Blaszczykowski missed an open goal and Julian Schuster hit the bar with almost the last touch of the game.

"For some reason we didn't really play in the first half," admitted Dortmund's coach Jurgen Klopp.

"We didn't get ourselves into the positions we have wanted, but in the second-half, the side invested more and we deserved the win. We will take the three points, in the second half we played really well towards the end."

Both Bayer Leverkusen and Bayern Munich lost further ground on the runaway league leaders Dortmund as they shared the spoils in a 1-1 draw at the BayArena. Mario Gomez put Bayern ahead in the 34th minute before a penalty from Arturo Vidal earned Leverkusen, who have not beaten Bayern since 2004, a point.

We didn't get ourselves into the positions we have wanted, but in the second-half, the side invested more and we deserved the win.
Jurgen Klopp, Borussia Dortmund coach

At Borussia-Park, substitute Sami Allagui scored two goals in the final 14 minutes as Mainz broke out of their slump to come back for a 3-2 win at Borussia Monchengladbach. Marco Reus gave Gladbach the lead in the 53rd minute before Andre Schurrle equalised 11 minutes later. Reus struck again after 69 minutes but Allagui scored in the 76th minute and again two minutes from time to give Mainz the win.

Raul scored a hat-trick as Schalke collected their second straight home victory by thrashing a struggling Werder Bremen side 4-0. Christoph Metzelder opened the scoring in the 22nd minute before Raul made it 2-0 two minutes into first-half injury time. The former Real Madrid man struck again in the 56th and 71st minutes, before Bremen had Philipp Bargfrede sent off in the 85th minute.

Vedad Ibisevic struck twice inside two minutes as Hoffenheim cruised to a 4-0 victory at Eintracht Frankfurt, who saw their seven-game unbeaten run ended in the most dramatic of fashions. Boris Vukcevic opened the scoring in the 31st minute before Ibisevic scored in the 69th and 70th minutes. Peniel Mlapa finished off the scoring in the 90th minute.

Struggling Kaiserslautern produced a stunning first-half performance against Nurnberg to push themselves away from the bottom three. Less than five minutes in they were ahead through Stiven Rivic before Ivo Ilicevic made it 2-0 after 12 minutes. Srdjan Lakic extended that lead and though Robert Mak pulled one back before Thanos Petsos was sent off for Kaiserslautern, Andreas Wolf missed a penalty for Nurnberg and the win was secured.

Substitute Mike Hanke scored a minute into injury-time to help Hannover come from behind to secure a 3-2 victory at home to Hamburg. Lars Stindl gave Hannover the lead in the 31st minute before Son Heung-min scored goals in the 40th and 54th minutes to give Hamburg a 2-1 lead. Christian Schulz levelled the game after 59 minutes before Hanke's heroics.