Dortmund took the lead three times, only for Augsburg to equalise, exploiting the home side's disorganised defence.
Dortmund manager Edin Terzic brought on Jamie Bynoe-Gittens and Gio Reyna in the 70th minute, with both wingers scoring goals to help carry their team to victory.
Speaking after the match, Terzic praised his team's resilience in a "wild, chaotic match".
"I'm happy we still won the game with all the setbacks... The positive thing is that we fought back."
Augsburg coach Enrico Maassen said his side, who are just one place above the relegation playoff spot, could take positives from the "annoying" result.
"We played a huge game... We will get our points if we play like this."
Dortmund had the better of the early proceedings before Jude Bellingham broke through in the 29th minute.
The 19-year-old Englishman collected the ball on the edge of the box and sent the Augsburg defenders the wrong way, before drilling a low shot into the bottom right corner of the net.
Despite Dortmund's dominance of possession, Augsburg hit back in the 40th minute, when Dion Beljo dispossessed a sloppy Nico Schlotterbeck before passing to Arne Maier, who hammered home.
Schlotterbeck redeemed himself immediately, however, heading in a Julian Brandt free-kick to put Dortmund up 2-1.
Augsburg equalised in stoppage time, Ermedin Demirovic chipping over Dortmund 'keeper Gregor Kobel for his sixth goal of the campaign.
Haller came off the bench in the 61st minute to rapturous applause from the home and away fans, his first competitive appearance since May 2022.
With the game drifting towards more dropped points for the home side, Bynoe-Gittens and Reyna were introduced.
The home side reclaimed the lead almost immediately, with the 18-year-old Englishman Bynoe-Gittens superbly curling the ball in from outside the box.
Augsburg's David Colina hit back less than a minute later but Dortmund reclaimed the lead two minutes after that, when US forward Reyna lifted the ball over Rafal Gikiewicz and into the back of the net.
Reyna turned to Dortmund's famous yellow wall after scoring the winner, putting his fingers in his ears in an apparent gesture referencing the ongoing spat between national team coach Gregg Berhalter and the Reyna family which has engulfed US football since the Qatar World Cup.
Terzic lauded Reyna's resilience, saying "he's copped so much in the last couple of weeks".
Dortmund held on in a nervous final few minutes for the three points which moved them into sixth place in the table.
Defender Schlotterbeck, who was at fault for two of Augsburg's three goals, thanked his team's attackers for bailing out the side's shoddy defence.
"Quality up front - and no quality at the back," the Germany defender told broadcaster DAZN.
"I don't even know whether I should be happy with the win or angry about the three goals conceded."
In Sunday's late game, Borussia Moenchengladbach host Bayer Leverkusen.