Marco Reus admits Borussia Dortmund are struggling to pick up wins in the Bundesliga title race, even as his late goal sent them top by sealing Saturday’s dramatic 3-2 victory at Hertha Berlin.

Dortmund’s win leaves them three points clear of defending champions Bayern Munich, who must bounce back from their Champions League exit to Liverpool by beating Mainz on Sunday.

Ivorian striker Salomon Kalou twice breached Dortmund’s defence in a poor first half by the visitors, who have taken 12 points from a possible 21 in their last seven league games.

Danish midfielder Thomas Delaney and defender Dan-Axel Zagadou twice equalised for Dortmund before Reus’ late strike at Berlin’s Olympic Stadium.

Hertha had defender Jordan Torunarigha and substitute striker Vedad Ibisevic sent off in the final few minutes of a bad-tempered match.

“The most important thing was the three points we took,” Dortmund captain Reus told Sky.

“We dominated the second half and played better football than the first.

“We’re struggling to win, but that’s the only way we’ll get more confidence,” he added, after Dortmund also needed two late goals to beat Stuttgart last weekend.

Kalou capitalised on a mistake by Dortmund goalkeeper Roman Burki with just four minutes gone to give Hertha the lead.

Delaney equalised by charging through a huge gap in midfield and firing home, his 14th-minute shot deflecting off Hertha defender Karim Rekik.

Kalou restored Hertha’s lead by drilling home a penalty after a Julian Weigl handball 10 minutes from the break.

Dortmund drew level again when Zagadou, 19, headed home a Jadon Sancho corner two minutes after the break.

With five minutes left, Torunarigha was sent off for a second yellow card after fouling Dortmund defender Achraf Hakimi, just before Delaney hit the crossbar.

With time running out and Dortmund growing desperate after wasting a string of chances, Sancho supplied the cross for Reus to convert to claim the three points.

In the dramatic closing moments, Kalou’s replacement Ibisevic was also dismissed for throwing the ball in the face of the Dortmund goalkeeper.

Schalke lose again

Earlier, Schalke’s miserable run was extended to six straight defeats after losing 1-0 at home to RB Leipzig in Huub Stevens’ first game back as caretaker coach.

The Dutchman has been hastily hurried back for his third stint in charge after predecessor Domenico Tedesco was fired on Thursday, two days after the 7-0 thrashing at Manchester City in the Champions League.

However even Stevens, who lifted the UEFA Cup as Schalke coach in 1997, could not arrest their dreadful run, which has seen them fail to win any of their last eight league games.

Timo Werner stabbed home Leipzig’s winner with 14 minutes gone in Gelsenkirchen after Yussuf Poulsen had rattled the crossbar.

The defeat saw Schalke drop to 15th in the table, leapfrogged by Augsburg who enjoyed a 3-1 comeback win at home to second-from-bottom Hanover.