Bayern Munich will face Borussia Dortmund in the German Cup final on Saturday, 17 May.
Defending champions Bayern, who are bidding to defend their treble, beat second-tier Kaiserslautern 5-1 to reach the Olympic Stadium final.
Coach Pep Guardiola said; "Kaiserslautern were very brave from the start. We had problems in possession. We took a step forward in terms of team spirit. I'm delighted and happy with the way we kept battling."
Dortmund beat Wolfsburg 2-0 in their semi-final.