Javi Martinez scored the only goal at the Allianz Arena, glancing home a second-half header from a corner, while Bayern forward Arjen Robben had a late strike ruled out for offside.
United, who start their league campaign at home to Leicester on Friday evening, were captained by Alexis Sanchez in Bavaria.
The Chile forward was supported in attack by Juan Mata, Marcus Rashford and Andreas Pereira, with recent signing Fred partnering Ander Herrera in central midfield.
Jose Mourinho brought a host of youngsters off the bench in the second half, including Tahith Chong and Axel Tuanzebe, while goalkeeper Lee Grant, signed from Stoke in July, came on for David de Gea.
United created little during the match and were unable to find an equaliser in the closing stages.
England forward Rashford wore the number 10 shirt in Munich and the club later confirmed he will do so during the coming campaign, switching from 19.
The squad number has been vacant since United's record goalscorer Wayne Rooney joined Everton last summer.