Lee Buchanan pulled one back for the River Islanders in the 89th minute before before Niklas Schmidt squared the game three minutes into injury time. Oliver Burke rifled an effort past Gregor Kobel in the dying seconds to seal the miraculous win.
After a disastrous 45 minutes for the hosts in which nothing seemed to work, Dortmund’s Julian Brandt had blasted a blinder past Werder goalkeeper Jiri Pavlenka in first-half stoppage time to take an unexpected lead.
By the 75th minute, Werder had 10 shots on goal compared to Dortmund’s two, showing that they were the more daring team overall. Their passing game was more fluid and inventive, and their attacks were more dangerous.
Raphael Guerreiro tried his luck from 25 meters away and beat Pavlenka with a low shot in the 77th minute, as they were once again caught off guard.
However, the visitors did not give up and in the 89th minute, Lee Buchanan, scored what could have been a consolation goal with a beautiful strike into the top corner.
Schmidt brought them level two minutes before Burke’s stunning strike handed them the victory.
The loss to Werder Bremen leaves Dortmund with six points from a possible nine.
On Sunday, champions Bayern Munich, who are also on six, will play at VfL Bochum as they look to go beyond Borussia Mochengladbach who currently sit first on seven points.