After weathering an 80-minute storm, the Foals struck with a Max Kruse penalty, after Mats Hummels was sent off, and a Raffael strike earning Lucien Favre's men an unexpected win.
The hosts had goalkeeper Marc-Andre ter Stegen to thank for keeping them in the game up to that point while Dortmund coach Jurgen Klopp will be keen to work on his side's shooting ability after they failed to convert numerous chances.
Gladbach defender Alvaro Dominguez predicted a busy afternoon for him and his defensive colleagues, but even he probably did not expect to be tested so much.
Come the half-time whistle, the statistics showed 17 shots to one in favour of the visitors, although the most important statistic still showed a zero on both sides.
That was largely due to Ter Stegen, who made his six-yard box his own, plucking cross after cross out of the air.
A rare counter-attack from the hosts finally saw them infringe on Dortmund territory and enter into the penalty area, where Hummels fouled Havard Nordtveit, committing a foul which conceded a penalty and also earned him his first ever red card in the Bundesliga.
Kruse stepped up to take the spot-kick, sending the ball low past Roman Weidenfeller, whose first real job of the whole afternoon, with just nine minutes of the game remaining, was to fish the ball out of the net.
His next involvement was identical as he was beaten by Raffael, who had spent much of the game alone in the Gladbach attack, but was alert to pick up and convert his first chance of the game in the 86th minute.