An early Michael Ballack header and a last-gasp Roy Makaay penalty sent Bayern Munich through to the German Cup final with a 2-0 win at Arminia Bielefeld on Wednesday.
Bayern, who have a six-point lead at the top of the Bundesliga, will face Schalke in the final at the rebuilt Olympic Stadium in Berlin on May 28.
Schalke beat Werder Bremen 5-4 on penalties in the first semi-final on Tuesday.
Ballack nodded in a Bastian Schweinsteiger corner in the third minute but Bielefeld were on top for much of the rest of a tense semi-final and Bayern needed two outstanding saves from Oliver Kahn to stay ahead.
Makaay clinched victory, and kept Bayern on course for a domestic double, with his penalty in the fourth minute of stoppage time, after Claudio Pizarro had gone down in the area.
Bielefeld's South African striker Delron Buckley was sent off for pushing referee Markus Merk in protest at the penalty decision.
Bielefeld hit back strongly after Ballack's opener.
Buckley wriggled clear of the Bayern defence in the sixth minute and was only just wide with his shot and Marcio Borges went even closer on the half-hour when his header flashed past the post with Kahn well beaten.
Kahn had to dive at full stretch to keep out a Markus Schuler shot from 10 metres in the 59th minute and the Germany keeper pulled off an even better save when Ervin Skela let fly with a vicious angled drive seven minutes later.
Hasan Salihamidzic had missed a decent chance for Bayern after 20 minutes but there was little else from Bayern before Bielefeld's increasingly desperate attacking forays started to leave them exposed at the back.
Martin Demichelis hit the bar with 15 minutes to go and Makaay was fractionally wide when he cut in from the left six minutes later.
More from rediff