Substitute Emil Forsberg scored a dramatic late extra-time winner against Werder Bremen in to send RB Leipzig through to the German Cup final.
Forsberg’s 121st-minute volley gave Leipzig the 2-1 win after both teams had failed to score in normal time.
Hwang Hee-chan put Leipzig ahead after 93 minutes before Bremen levelled through Leonardo Bittencourt at the end of the first period of extra time.
Borussia Dortmund host second-tier side Holstein Kiel in the other semi-final.
The victory means Leipzig and manager Julian Nagelsmann have a chance to play for their first major trophy before the German joins Bayern Munich on a five-year contract at the end of this season.
American and current Red Bull Salzburg coach Jesse Marsch will replace Nagelsmann at Leipzig.
The German Cup final is set to take place on Thursday, 13 May.
- 23Gebre Selassie
- 34MbomSubstituted forBittencourtat 73′minutes
- 36GroßSubstituted forBargfredeat 119′minutes
- 9SelkeSubstituted forMöhwaldat 96′minutes
- 11FüllkrugSubstituted forOsakoat 66′minutes
- 1GulácsiBooked at 101mins
- 44KamplBooked at 99mins
- 8HaidaraBooked at 35minsSubstituted forNkunkuat 45′minutesSubstituted forForsbergat 114′minutes
- 7SabitzerSubstituted forPoulsenat 74′minutes
- 3AngelinoSubstituted forHenrichsat 101′minutes
- 19SørlothSubstituted forHwang Hee-Chanat 90′minutes
- 11Hwang Hee-Chan