England winger Jadon Sancho hit the winning goal as Borussia Dortmund marched into the semi-finals of the German Cup with a 1-0 win at Borussia Moenchengladbach on Tuesday.
Sancho slotted home the winner after the visitors launched a counter-attack from their own area in the second half of the quarter-final at Borussia Park.
Dortmund finished with 10 men when midfielder Mahmoud Dahoud was sent off in added time for a second booking.
"We fought hard right up to the last minute," Dortmund captain Marco Reus told Sky.
"That must be our base now, to come on the field with a different energy," he added, ahead of Saturday's Bundesliga match at Bundesliga leaders Bayern Munich.
"Not everything is working brilliantly, but we still didn't concede a goal. That's very important for us."
It was a frustrating night for Gladbach head coach Marco Rose against his future employers.
Gladbach have lost all four games, including a 2-0 Champions League defeat by Manchester City, since it was announced Rose will leave at the end of the season to coach Dortmund.
"It was the one mistake that led to the defeat and I have to compliment the team on their performance," said Rose.
Both sides had first-half chances and a goal disallowed.
Gladbach striker Marcus Thuram was flagged offside after firing the ball into the Dortmund net just before half-time.
Dortmund striker Erling Braut Haaland then beat home goalkeeper Tobias Sippel on 53 minutes but VAR spotted the Norwegian had fouled Gladbach defender Ramy Bensebaini in the build-up.
With an hour gone, Dortmund goalkeeper Marvin Hitz pulled off a stunning save to push a thundering shot by Bensebaini around the post.
Dortmund got the breakthrough when they scored with a quick break from their own area.
Defender Nico Schulz dribbled the ball away from the penalty box, linking up with Haaland and then Reus whose pass freed Sancho to fire home inside the post on 66 minutes.
However, the goalscorer was subdued with his celebrations and immediately limped off with a thigh injury.
Dortmund coach Edin Terzic said Sancho came off as a precaution ahead of Saturday's match with Bayern.
Haaland had the chance to put the result beyond doubt when he again got away from the Gladbach defence late on, but Sippel saved his shot.
Dahoud was sent off for clattering Bensebaini, having already fouled the Algerian in the first half.
Gladbach came within a whisker of a last-gasp equaliser when Stefan Lainer's shot flew just wide moments before the whistle.
Holders Bayern Munich were knocked out on penalties in the second round by second-tier Holstein Kiel, who are at fourth-tier Rot-Weiss Essen on Wednesday.
In-form Bundesliga clubs RB Leipzig and Wolfsburg also meet on Wednesday in the last eight.
Tuesday's other quarter-final was postponed as second-tier club Jahn Regensburg went into quarantine after a Covid-19 outbreak before their home tie against Werder Bremen.