Philipp Lahm opened the scoring in the 14th minute, and despite dominating for much of the game, Bayern had to wait until the 87th minute before Mario Mandzukic added a second.
The result was not totally unexpected in that this was Bayern’s seventh preseason game under Pep Guardiola, while this was Barcelona’s first.
Barca did get off to a good start though and Lionel Messi almost give them the lead nside 30 seconds when the Argentinian raced through before curling just wide.
Bayern soon stamped their authority on the game, though, and Arjen Robben was only prevented from opening the scoring by a fine goal-line clearance from Adriano.
The opening goal would arrive four minutes later when Ribery marauded down the left to send in a cross which was met by captain Lahm’s flicked header, leaving Jose Manuel Pinto rooted to the spot.
Bayern continued to dictate affairs with the authority they showed in last season’s Champions League semi-final between the two sides, although neither Dante nor Robben were able to add a second goal with good chances.
Sergi Roberto almost grabbed an equaliser when he jinked past Jerome Boateng, only to pull his shot wide, while Rafinha nearly put through his own goal on the stroke of half-time with Manuel Neuer touching the ball on to his post and wide.
Roura completely changed his side for the start of the second half and new goalkeeper Oier Olazabal was soon put to the test by Bayern sub Mandzukic, but he responded with an excellent save down to his left.
The game lost its rhythm thanks to the numerous changes, but Mandzukic still wanted to get his name on the scoresheet.
Diego Contento obliged with a low cross in the 87th minute to allow his team-mate a tap-in from close range that sealed a comfortable win for Bayern.