A 2-2 draw, with all the goals coming before the interval, leaves the hosts still one point clear of Wolfsburg in the race for fourth place, while Dortmund stretch seven clear of third-place FC Schalke, who host Mönchengladbach on Sunday. Goals from Lars Bender and Gonzalo Castro twice had the hosts in front, but Oliver Kirch and a Marco Reus penalty ensured BVB an eventual share of the spoils.
Great start for Bayer
Dortmund opened with the confidence to be expected of a team bang in form in recent weeks and with five minutes on the clock Marco Reus pulled the first save of the contest out of home keeper Bernd Leno with a near-post effort. Leno's opposite number Roman Weidenfeller was warming his hands only a minute later however, doing well to nudge Stefan Kießling's shot around the post. But there was nothing he could do to prevent the hosts going in front from the resultant corner, which Kießling diverted onto the bar before Bender snapped up the rebound, nodding the ball into the net from close range.
Undeterred by the early setback Dortmund ploughed forward in their accustomed fashion, with Bayer content, if not for the most part obliged, to sit back and await their next chance on the break. The anticipated high-quality, high-tempo encounter was unfolding, and the visitors' intense pressing paid off just shy of the half-hour mark when Kirch got his head to Reus' free-kick to restore parity. It was the former Kaiserslautern midfielder's first Bundesliga goal in two years, and his first altogether for Dortmund.
Interim coach Sascha Lewandowski's revitalised Werkself proved every bit as resilient as the visitors, however, and five minutes further down the line they were back in front courtesy of a great flowing move. Kießling and Heung-Min Son laid the groundwork for Julian Brandt to plant an inch-perfect ball onto the head of Gonzalo Castro, whose header across goal flew past Weidenfeller and into the net.
Dortmund's next response came by way of a penalty, awarded for a hand-ball against Roberto Hilbert following a Milos Jojic cross. Unenviably, it was the fifth conceded this season by the right back, an individual Bundesliga high over the past 20 years. Reus did the honours from the spot, maintaining his 100 percent record in the top flight where he has now scored six out of six. A minute later, Reus found himself clean through only to be denied this time by Leno, before a late Bayer offensive rounded out an enthralling first half.
Second half of few chances
The second 45 got underway to the same overall pattern, with Dortmund having a clear edge in terms of possession, but the home side proficiently soaking it up and maintaining their air of menace on the break. As the match progressed, Jürgen Klopp's visitors found themselves struggling to make any kind of substantial inroad into a rock-solid home defence.
With 18 minutes to go they should really have found themselves behind when Castro squared the ball to an unmarked Brandt, whose attempted lob was parried by Weidenfeller. After that, the final half-chances of the contest fell to substitute Pierre-Emerick Aubameyang and Reus at the other end as a high-class encounter petered out somewhat, with Sokratis getting in a last-ditch tackle on Son right at the end of regulation time to ensure there would be no late drama.
Line-ups and statistics
Dortmund goalkeeper Roman Weidenfeller features in the Top 5 Saves from Matchday 32 on our official Bundesliga YouTube channel: