Pierre-Emerick Aubameyang made up for missing a penalty by sliding in the leveller 10 minutes from time. Valentin Stocker had opened the scoring for Hertha after a sumptuous Vedad Ibisevic backheel.
Borussia Dortmund 1-1 Hertha Berlin
(Aubameyang 80' - Stocker 51')
Third-placed Dortmund set a new club record of 25 home Bundesliga matches undefeated…but only just.
Pierre-Emerick Aubameyang had looked set to be the villain after first hitting the post with a deflected chip when he had other options. Hertha keeper Rune Jarstein then saved his 77th minute penalty after Genki Haraguchi was adjudged to have handballed in the box.
But the Gabon striker saved his side like so often by converting Ousmane Dembele’s cross at the far post three minutes later, thus avoiding Dortmund’s second straight league defeat.
Hertha, in second, proved their rise is not a flash in the pan as they produced a combative display.
But they could not hang on to their lead and failed to really threaten after Dortmund were reduced to 10 men on 84 minutes when Emre Mor was dismissed for a push on Sebastian Langkamp.
Stocker was then red-carded in injury time for fouling Matthias Ginter as the game ended 10 v 10.
All in the all the big winners from the big clash are probably champions and leaders Bayern Munich.
"For a long time we have toiled against a disciplined and obstinate opponent," said Dortmund coach Thomas Tuchel.
Counterpart Pal Dardai added: "Congratulations to my team. Borussia Dortmund had more possession of the ball, but the chances were balanced."
Initially it looked like a case of the international break having affected both sides after a largely lethargic first half with few clear-cut chances.
Dortmund were hoping to bounce back from their 2-0 defeat at Bayer Leverkusen last time out, but an injury crisis meant Tuchel was unable to field a host of first-choice players and it showed.
Spanish 20-year-old Mikel Merino was making his Dortmund debut from the start in defence alongside Ginter with Sokratis ruled out and Marc Bartra only fit enough for the bench.
Turkey winger Mor fired wide after seven minutes and Alexander Esswein had Hertha’s best opportunity of the first half but shot just over.
Hertha’s credentials against the really top sides came under scrutiny when they lost 3-0 at Bayern in September, but they demonstrated they had learnt from that encounter with a confident and disciplined display.
Their controlled aggression paid off when Stocker scored with a clinical finish after 51 minutes following a moment of magic by striker Ibisevic.
The bench was where Tuchel turned to try to save the game with Shinji Kagawa and Dembele coming on after 60 minutes.
The ploy eventually worked with Kagawa’s shot prompting the debatable penalty, only for Aubameyang to fail from the spot.
Dembele showed his worth though by expertly crossing low for his teammate soon after.
There was focus on the foul count after Tuchel’s complaints following the Leverkusen loss that 21 was too many. Hertha committed exactly the same number.