A Mats Hummels own goal after 26 minutes gave the hosts the lead and they looked on track for a win before Robert Lewandowski equalised with 15 minutes to go.

Dortmund's winner came courtesy of a Mensur Mudjza own goal three minutes later.

Elsewhere on Saturday, a hat-trick to Spanish striker Raul - after Christophe Metzelder opened the scoring - steered Schalke to a 4-0 win over fellow Champions League representatives Werder Bremen.

Bremen's dismal day was compounded when midfielder Philipp Bargfrede was ordered off five minutes from full-time.

Mainz kept up the pressure on the leaders with a hard-fought 3-2 win away against Borussia Monchengladbach.

Mainz trailed twice in the pulsating encounter, with Marco Reus scoring a brace for Monchengladbach and Sami Allagui doing likewise for the visitors, with Andre Schurrle scoring the other.

Hoffenheim enjoyed a crushing 4-0 away win over Eintracht Frankfurt.

Vedad Ibisevic netted a double for Hoffenheim with Boris Vukcevic and Peniel Kokou Mlapa also getting on the scoresheet.

Kaiserslautern raced to a 3-0 lead after just 33 minutes in their clash with Nuremberg thanks to goals from Stiven Rivic, Ivo Ilicevic and Srdjan Lakic, but Robert Mak pulled a goal back for the hosts.

Andreas Wolf missed a penalty with seven minutes remaining to ensure the score remained at 3-1 to Kaiserslautern, who finished the game with 10 men after Theos Panos was sent off on 79 minutes.

And a last-gasp winner to Mike Hanke handed Hannover a 3-2 home win over Hamburg.

Lars Stindl opened the scoring after half an hour before a brace from Heung-Min Son put Hamburg in front.

Christian Schulz levelled proceedings on the hour mark before Hanke stepped up to seal the contest in injury time.