Although Barcelona left new Brazil signing Neymar at home, first-team regulars Lionel Messi, Javier Mascherano, Adriano, Alex Song and Alexis Sanchez all played the first-half in Munich.
Goals by Philipp Lahm and Mario Mandzukic either side of half-time were enough to give the Champions League winners victory over the Catalan giants at a sold-out Allianz Arena in front of 71,137 fans.
With the Uli Hoeness Cup on offer, in honour of Bayern’s president, this was Munich’s second pre-season title in four days having won Sunday’s Telekom Cup final with a 5-1 win at hosts Borussia Moenchengladbach.
“It was a good preparation for Borussia Dortmund,” said Guardiola whose Bayern travel to Dortmund for the German Super Cup on Saturday in a repeat of May’s Champions League final.
“Barcelona are always a good team and they were a good test for us. We had our chances and we have to improve our finishing.”
With 23 players involved in his match-day squad, Guardiola said there will be talks about the possibility of reducing that number after Saturday’s Dortmund match.