The Bavarians reached the final after they beat Borussia Mönchengladbach 4-2 on penalty kicks, as Wednesday's semi-final finished goalless after extra-time.
Bayern's previous games were won with scores of 7-1, 7-0 and 6-0 against Hoffenheim, Basel and Berlin's Hertha, which is fighting to stay in the Bundesliga's top division.
Bayern will now face Borussia Dortmund in Berlin following the league leader's 1-0 win over second-division Greuther Fuerth in Tuesday's other semi-final.
With nothing to separate Bayern and Gladbach after 120 minutes of football at the 54,057 sold-out Borussia Park, the game was settled by penalty kicks. The Bavarians owe their win to goalkeeper Manuel Neuer, who not only stopped two of Gladbach's kicks, but had some impressive saves in regular playing time.
After Bayern converted all four of their chances, misses by Gladbach's Brazil defender Dante and Norway midfielder Havard Nordtveit handed Bayern victory.
"Penalties are always a certain amount of drama," said Bayern's relieved director of sport Christian Nerlinger.
"I am really pleased that Manuel Neuer saved the deciding penalties. We were able to convert all of our spot kicks, that speaks volumes for the team's determination."
With his side third in the Bundesliga behind second-placed Bayern, Gladbach coach Lucien Favre said his main concern now was Saturday's clash at home against Hoffenheim.
"Now Saturday's next game is all that is important. The cup game is already history," said the Swiss.
"That's football, we have to now win our next league game."
Having already beaten Bayern home and away in the Bundesliga this season, Gladbach were chasing a rare treble over the Bavarians, but it was not to be.
This was a typically tense cup semi-final as both sides pushed forward looking for the half chance to take a crucial lead while desperately trying to avoid giving their opponent any opportunities.
Bayern hit the post in the first six minutes through Toni Kroos and it turned into a bruising encounter as Gladbach forward Mike Hanke accidentally kicked Bayern's Holger Badstuber in the face with 25 minutes gone.
At the other end, Neuer had to be alert to save a shot from Filip Daems on 35 minutes having earlier denied Gladbach midfielder Marco Reus.
Both Neuer and Gladbach goalkeeper Marc-Andre ter Stegen were busy throughout as Bayern striker Mario Gomez went close while Neuer pulled off a brilliant save to deny Reus with six minutes left.
In extra time, Bayern substitute Nils Petersen squandered a great chance with just two minutes left before his side held their nerve on penalties.