Marco Reus scored a 120th-minute penalty as Bundesliga leaders Borussia Dortmund scraped past second-tier Union Berlin in the German Cup.
United States winger Christian Pulisic opened the scoring for the hosts.
But ex-Queens Park Rangers forward Sebastian Polter twice levelled for the visitors, either side of Maximilian Philipp scoring Dortmund's second of the night, to force extra time.
But Germany winger Reus scored from the spot after a foul on Pulisic.
Elsewhere, second division outfit Holstein Kiel sprang a surprise by coming back to knock-out top-flight side SC Frieburg 2-1.
Schalke went through 6-5 on penalties after being held 1-1 at second-tier FC Koln, and Germany forward Timo Werner scored twice as RB Leipzig eased past Manchester City's Champions League Group F opponents Hoffenheim.