Dortmund led 2-0 going into the 90th minute but still managed to concede three late goals at the Signal Iduna Park.
Julian Brandt had given them the lead on the stroke of half time before Rafael Guerreiro doubled their advantage in the 77th minute.
With just a minute of normal time remaining, Lee Buchanan pulled one back for the visitors with a wonderful strike before Niklas Schmidt pulled them level in the third minute of stoppage time.
The drama continued into the final few seconds when Oliver Burke scored a winner for Bremen with virtually the last kick of the game to make them the first side in Bundesliga history to score three goals from the 89th minute or later.
Dortmund head coach Terzic said: "You have to honestly say that it was a deserved defeat. We didn't play well, and it was a very poor performance from us, both in the first and in the second half.
"We didn't manage to control the game. The way we conceded goals at the end is brutally stupid, brutally annoying and now we're empty-handed."
Captain Marco Reus was similarly scathing, telling Sky: "I have no idea what happened. Despite being 2-0 up, we didn't have any control over the game, not even over the 90 minutes.
"Then Bremen scored the goal in the 89th minute and came again. But in the end we just didn't play well throughout the game."