Kevin Grosskreutz scored a brace and Mario Goetze added a third as Dortmund beat Leverkusen.
Kevin Grosskreutz struck twice in rapid succession (49', 53'), and set up Mario Goetze for a third (55') to put the game out of reach with less than an hour played. In the 80th minute, Stefan Kiessling scored a consolation goal, but it proved to be too little, too late.
Leverkusen's defence had played quite well before the opener, which came after Daniel Schwaab failed to clear a long throw-in, and in part set up Grosskreutz by taking the pace off the ball with his hand. Adler had little chance as the BvB winger was left with a simple tap-in.
Four minutes later, from a goal kick, Robert Lewandowski won a header ahead of Stefan Reinartz. Manuel Friedrich misjudged the bounce, and Grosskreutz ghosted in behind him to strike in a sublime finish and double the visitors' advantage. Finally, from another throw-in, Grosskreutz won a tackle that sent the ball through to Goetze, who finished well when one-on-one with Adler.
The match was lively from the get-go, and Dortmund did not hesitate to start threatening Rene Adler's goal. After just three minutes, Sven Bender had his header glance off the left post before being cleared. Twenty minutes later, Robert Lewandowski sprung an otherwise outstanding B04 offside trap and fired on goal, but Adler brilliantly saved his effort.
Dortmund held onto their lead well, and it was only in the 80th minute that the visitors conceded as Kiessling slid in to poke home Renato Augusto's cross at the back post.
At the other end, Stefan Kiessling was easily Leverkusen's most dangerous player, but was denied by a last-ditch challenge from Neven Subotic (11'), and later had a header sail over the bar (40').
Based on the first half results, Dortmund were the more effective team, but their prolificacy after the break surprised everyone, including coach Juergen Klopp. After the trio of goals, the visitors sat back and absorbed pressure as Leverkusen improved, especially after the trio of substitutions (Arturo Vidal, Tranquillo Barnetta, and Eren Derdiyok) made on the hour mark.
Kiessling in particular looked dangerous, and nearly had his brace on 85 minutes as his 20-yard strike missed just wide of the left post. Renato Augusto also came close to finishing in the 74th, but Mats Hummels made an excellent block to deny the Brazilian.
The result leaves Leverkusen third, still level with Mainz, who have a game in hand, on 33 points. Dortmund now have 46 points, and an increasingly comfortable lead on their rivals.