There was a first-half flurry of goals in the top-of the-table battle between Bayer Leverkusen and Borussia Dortmund in the Bundesliga. The BVB, who recently had an impressive run of games against Real Madrid and Bundesliga toppers Bayern Munich, were held to a 2-2 draw at Bay Arena against Leverkusen in a thrilling end-of-the-season contest Saturday.

Leverkusen went into the match knowing a win would open up a three-point lead over nearest challengers Wolfsburg, who could only draw 2-2 with Freiburg earlier on Saturday.

But since the announcement of the appointment of Roger Schmidt as coach for next season, interim boss Sascha Lewandowski wasted an opportunity for Leverkusen to take a step towards sealing a place in the UEFA Champions League next season.

Midfielder Lars Bender netted to put Leverkusen ahead just after 7 minutes, before Oliver Kirch netted an equalizer in the 29th minute.

Attacking midfielder Gonzalo Castro re-established the lead for Leverkusen ten minutes before half-time, but a resilient Dortmund earned a share of the spoils with Marco Reus’ penalty four minutes later.

The result keeps Leverkusen a point clear from fifth placed Wolfsburg ahead of the final two clashes against Eintracht Frankfurt and Werder Bremen.

Leverkusen goalkeeper Bernd Leno was tested by Reus in the first five minutes with a near post drive, but it was the hosts who took an early lead through Bender.

Dortmund goalkeeper Roman Weidenfeller made a superb save to keep out Stefan Kiessling’s volley, but the hosts keep on pressurizing, and Bender came out the quickest to a rebound after the striker hit the crossbar, finding the net despite great efforts from Nuri Sahin on the line.

Leverkusen failed to hold on to the lead for a long time as Dortmund duly levelled the matters just before the 30-minute mark, when Kirch turned Reus’ left wing kick into the top corner with an improvised backward header.

Parity for Dortmund remained just for 6 minutes as Castro restored Leverkusen’s advantage with a quick header into the bottom corner following an organized move involving Son Heung-Min and Kiessling.

Again poor defense by Leverkusen helped Dortmund equalized for the second time in the 39th minute when Roberto Hilbert made a wrong challenge on Reus inside the box, which resulted in Reus scoring a minute later from the penalty spot.

Reus continued to be a constant threat of Leverkusen. He even had a wonderful shot on goal, only for Leno to deny him with a one-on-one stop.

Chances remained far and few in a quiet second-half comparatively. Kiessling headed way over from close-range in the 62nd minute before BVB striker Mkhitaryan forced Leno into a comfortable save with a tame effort from distance.

The best chance for winner came in the 72nd minute as Julian Brandt broke free down the right, only for Weidenfellar to stop the goal and preserve a point, keeping Dortmund comfortably ahead of Schalke in second position.