Dortmund went ahead in the 52nd minute thanks to a goal from Lucas Barrios and Nuri Sahin sealed the win eight minutes later from a free-kick.

The result takes Dortmund 10 points clear of struggling defending champions Bayern and three behind leaders Mainz.

Mario Gomez could have had a hat-trick for Bayern in the first 45 minutes but he failed to justify coach Louis van Gaal's decision to select him ahead of Miroslav Klose.

Eren Derdiyok grabbed a late equaliser to earn a point for Bayer Leverkusen after they surrendered an early lead against Werder Bremen.

Patrick Helmes' goal in the 16th minute for Leverkusen was equalised by Hugo Almeida after 53 minutes.

Marko Marin completed the turnaround for Bremen in the 62nd minute before Derdiyok equalised with 12 minutes to go of an exciting, high-tempo match.

Stuttgart may have won both of their Europa League games but their struggles in the Bundesliga continued with a home loss against Eintracht Frankfurt, condemning them to sit in last place over the international break.

Theofanis Gekas opened the scoring in the 18th minute before Chris doubled the lead midway through the second half for Frankfurt.

Stuttgart went a man down in the 84th minute as Matthieu Delpierre saw red, though Pavel Pogrebnyak pulled a goal back a minute later.

The loss was Stuttgart's sixth in seven games and left them with just three points - one point behind Schalke.