Luiz Gustavo and Mario Mandzukic scored the goals in the last 10 minutes as Jupp Heynckes' side extended their lead at the top of the table with an eighth win in eight competitive games this season.
Although Bremen had matched the Bavarians for much of the game, their late collapse cost them dearly as they slumped to 11 points behind their opponents.
Claudio Pizarro was named in the Bayern starting XI against his former club with Mandzukic left on the bench as part of Heynckes' rotation policy.
Arjen Robben did not even travel to Bremen due to a knock, possibly also rested ahead of the midweek Champions League clash with BATE Borisov.
Dante thought he had put Bayern in front after half an hour with a looping header which went in off the right-hand post, but the linesman's flag was raised to deny the Bayern defender his first goal of the season.
Franck Ribery came close to breaking the deadlock in the 49th minute, but his shot bounced out to safety off the inside of the left-hand post.
In the 55th minute, Kevin De Bruyne's shot from distance was saved by Bayern goalkeeper Manuel Neuer.
Ribery continued to cause trouble in and around the area, sending two shots wide of Mielitz's goal before Nils Petersen, on loan at Bremen from Bayern, missed a good chance at the other end.
Bremen's resistance finally broke in the 81st minute when Thomas Muller pulled the ball back to Gustavo, who did not appear to be posing too great a threat more than 20 yards out, but he lifted a shot over Mielitz with his left foot to give Bayern the lead.
Mandzukic made it 2-0 just minutes later when they broke after a Bremen corner was cleared with Ribery sending Xherdan Shaqiri down the left and his low cross was met by the Croatian forward, who had the goal gaping and was not going to miss it from 10 yards out.