Bayern held their nerve in front of a sell-out crowd of 69,000 at their Allianz Arena after United strikers Wayne Rooney and Michael Owen missed great chances in the second half to win the match.
Bayern enjoyed the better of the first half, in which Mario Gomez and Dimitar Berbatov both hit the woodwork, but United then had the better opportunities after the interval - only for Rooney and Owen to fail to beat Bayern goalkeeper Michael Rensing in one-on-one situations.
The game had to be decided by a penalty shoot-out, and another dose of England against Germany spot-kick drama.
Rensing made a one-handed save to deny Patrice Evra, but Edwin van der Sar responded with a save from Daniel Pranjic.
Rooney scored United's fifth penalty, putting the pressure on Jose Ernesto Sosa, who found the bottom corner to force sudden death.
Jonny Evans had his effort saved by Rensing, leaving Daniel van Buyten to score the winning penalty.