Goals by Thomas Mueller and Leroy Sane gave Bayern a 2-0 half-time cushion in falling snow at the Allianz Arena, which was devoid of spectators due to high numbers of Covid-19 cases in Bavaria.
Teenager Jamal Musiala grabbed Bayern's third in the second half to seal Barcelona's fate.
Bayern, who also beat Barca 3-0 at the Camp Nou when the sides met last September, had already qualified for the knock-out stages as Group E winners.
They now join Liverpool and Ajax with a perfect six victories from six games in the group stage.
However, for the first time since the 2003/04 season, Barcelona will not be in the draw for the last 16.
Benfica's 2-0 win at home to Dynamo Kiev means Barcelona finish third and drop to the Europa League.
It was almost eight years to the day since Bayern lost a home Champions League game in the group phase and the Bundesliga leaders were in no mood to be generous.
Xavi Hernandez, 41, who took charge of struggling Barcelona four weeks ago, has now suffered back-to-back defeats after his first loss as head coach against Real Betis last weekend.
Bayern were not even at full strength.
With Joshua Kimmich quarantining after a positive Covid test and Leon Goretzka injured, 18-year-old Musiala played out of position alongside Corentin Tolisso in defensive midfield.
Barcelona made a bright start but faded after losing Jordi Alba to injury with half an hour gone, just before Mueller headed Bayern into the lead.
Robert Lewandowski found space on the left of the box and flicked a pass to Mueller whose looping header flew beyond the reach of Barcelona goalkeeper Marc-Andre ter Stegen.
It was a double blow to the Barca bench who had just learnt Benfica were 2-0 up against Dynamo.
Things went from bad to worse for the Spanish visitors when Sane hit the net with a powerful long-range shot that deceived Ter Stegen.
Sane should have put the result beyond doubt when Bayern attacked just after the break.
Instead of tapping the ball into the empty net, he poked the ball into Ter Stegen's grateful arms.
Alphonso Davies, who also ran Barcelona ragged in Bayern's historic 8-2 drubbing in the 2020 quarter-finals, again caused havoc down the left flank.
The fleet-footed Canadian created Bayern's third when he pulled the ball back for Musiala to tap home from close range on 62 minutes.
With 20 minutes left and the contest effectively over, Bayern coach Julian Nagelsmann started taking off first-choice players.
First to go were wingers Davies and Kingsley Coman.
Then followed star striker Lewandowski and centre-back Niklas Suele, yet still Barcelona could not threaten Manuel Neuer in the Bayern goal.