Barca will meet Olympique Lyonnais in the final on May 18 at the Groupama stadium in Budapest.
Chelsea drew 1-1 with Lyon in the second leg of their tie later on Sunday, meaning the holders prevailed 3-2 on aggregate.
Barca, who had earned a 1-0 win in the first leg in Germany, broke the deadlock at the end of a hard-fought first half thanks to a penalty from Mariona Caldentey after Bayern captain Melanie Leupolz had rattled the underside of the crossbar.
Barcelona-Sevilla game postponed due to late-returning players
The German side hemmed Barca into their half for most of the second period, with forward Sara Dabritz missing a clear chance to equalise when she failed to find the target from inside the area.
The home side came under further pressure after Kheira Hamraoui was sent off in the 70th minute and Barca keeper Sandra Panos made an impressive save to keep out a looping header from Dominika Skorvankova which looked destined for the top corner.
Bayern coach Thomas Worle was sent off for protesting a refereeing decision on the sidelines and his side soon lost momentum.
Barca should have put the result beyond doubt late in the game when they twice caught the Germans out on the counterattack but failed to find the net.
Barca's coaching staff and substitutes invaded the pitch when the fulltime whistle sounded before doing a lap of honour of the stadium in the shadow of the Nou Camp, where the men's team sealed the La Liga title the night before.
Ilaix Moriba to hold talks with Spurs on Saturday - reports
'I've not felt the support of the club' - Koeman on Barca board