Bundesliga: Dortmund 1 Hertha Berlin 2
It is the first time Dortmund have lost three consecutive home league games since March 2000 and they have now claimed just one win in six Bundesliga outings, with the result leaving them 12 points adrift of leaders Bayern Munich going into the winter break.
Marco Reus looked to have set the hosts on their way to a much-needed three points when he slotted home in the seventh minute, but the visitors struck back midway through the half when Adrian Ramos swept in a cross from close range.
A catastrophic error from Marian Sarr, making just his second league start of the season, then let in Sami Allagui in the final minute of the first period as the visitors turned the match around.
Dortmund made four changes from last week's 2-2 draw against Hoffenheim, with goalkeeper Roman Weidenfeller and midfielder Henrikh Mkhitaryan among those to return while the visitors made three alterations, including Allagui and a first-team debut for 18-year-old goalkeeper Marius Gersbeck.
Reus gave his side the perfect start, running on to Sebastian Kehl's lofted pass to slot the ball under the advancing Gersbeck from an angle, with the goalkeeper needlessly rushing from his line with Reus running wide of goal.
Gersbeck went some way to redeeming himself five minutes later, brilliantly denying Robert Lewandowski.
Weidenfeller had to be alert at the other end to charge from his line and block Ramos' effort following a poor backpass from Kevin Grosskreutz.
Hertha pulled level in the 23rd minute as Allagui robbed Erik Durm near halfway, advanced forward and delivered a perfect cross that Ramos was able to tuck home from six yards for his 11th Bundesliga goal of the season and his fourth in three matches.
On the stroke of half-time, a piece of disastrous defending from Sarr handed the visitors the lead.
The 18-year-old dallied on the ball 40 yards from goal and was robbed by Allagui, who was composed in rounding Weidenfeller and slotting the ball into an empty net.
Sarr was replaced by Lukasz Piszczek at the interval but Dortmund continued to struggle to break down the Hertha defence in the second period, Sokratis Papastathopoulos heading into the ground and over the crossbar in the 55th minute.
Substitute Jonas Hofmann forced a flying save from Gersbeck 10 minutes later with a rasping effort from the edge of the box as the hosts looked to exert greater pressure.
Despite dominating possession in the closing stages, they could not break down a resolute Hertha outfit, who claimed their third successive victory.