Eintracht Frankfurt reached the DFB Pokal final by outlasting Borussia Monchengladbach 7-6 on penalties after a 1-1 game on Tuesday.
In their first final appearance since 2006, Eintracht will face the winners of Wednesday's other semifinal between Bayern Munich and Borussia Dortmund.
Taleb Tawatha gave Eintracht the lead in the 15th minute, hitting Timothy Chandler's cross on the bounce after it found its way through the box.
But Gladbach equalised just before the break, staying just onside to tap in Andre Hahn's flicked header.
It remained level through 120 minutes until the shootout, when the first six shooters from both sides were all successful.
But in the seventh round, Gladbach's Andreas Christensen was denied by Eintracht keeper Lucas Hradecky, only for Yann Sommer to then keep out Gladbach's Guillermo Varela.
Hradecky then saved a second straight shot, this one from fourth substitute Djibril Sow, before Branimir Hrgota fired home the winner.