The leaders were stunned when the league's top-scorer netted his 14th goal of the season on 86 minutes to inflict only the second defeat on Dortmund with the Bundesliga set to take its customary winter break on Sunday.
Dortmund would have claimed the German league record for the best start to the season if they had drawn or won.
Now both fourth-placed Mainz, who play St Pauli on Saturday night, and second-placed Leverkusen, who face Freiburg on Sunday, can cut Dortmund's lead if they win.
Defending champions Bayern Munich are at Stuttgart on Sunday and will be 14 points behind the leaders if they win.
Third-placed Hanover were stunned 3-1 at mid-table Nuremberg as US defender Steven Cherundolo scored an own goal on 28 minutes before defender Andreas Wolf netted for the hosts three minutes later.
Hanover midfielder Sergio Pinto converted a second-half penalty to pull the scores back to 2-1 on 76 minutes, but Nuremberg striker Julian Schieber made sure of the win with a late goal.
Hanover are still 12-points behind Dortmund.
Schalke beat Cologne 3-0
Champions League last 16-qualifiers Schalke picked up their third-straight league win with a 3-0 victory over Cologne as Spain striker Raul netted a hat-trick.
It was his second in the German league since joining Schalke from Real Madrid at the start of the season.
The hosts took the lead when midfielder Ivan Rakitic pounced on a mistake in the Cologne defence and squared the ball for the ex-Real forward to head home on 30 minutes.
The Royal Blues made sure of the result which takes them up to 10th in the table when Raul completed his hat-trick with strikes on 50 and 87 minutes to take him on to nine league goals this season.
Hoffenheim allowed a 2-0 lead to slip to a 2-2 draw at Wolfsburg as ex-England manager Steve McClaren's side fought back.
Hoffenheim midfielder Luiz Gustavo, who has been linked to a move to Bayern Munich, scored the opening goal after 35 minutes before Iceland's Gylfi Thor Sigurdsson scored five minutes later to put them 2-0 up at the break.
Brazil defender Diego then pulled one back for Wolfsburg on 75 minutes before striker Edin Dzeko netted in injury time to claim a point.
The result leaves Wolfsburg 13th in the league and just four points from the relegation zone, while Hoffenheim are eighth.
Werder Bremen slipped further towards the relegation zone when they were beaten 2-1 by Kaiserslautern to suffer their second straight defeat. It was their eight reversal of the season in 17 games and they are 14th in the league, four points above third from bottom Cologne.