It looked like it wasn't going to be the Bavarians' day, after missing their fair share of chances, but a pair of timely goals towards the end of the match secured victory.
The Bavarian giant was met with a spirited performance from the home side, but should have put the game to bed much earlier had it found the target with one of its many chances.
However, just when its 100 percent record looked ready to end, Luis Gustavo struck gold with a 20-yard drive to send Bayern into the lead with only nine minutes remaining.
The points were made safe three minutes later by substitute Mario Mandzukic, who converted a simple tap-in to send Bayern to victory and into a five-point lead at the top of the table.
Xherdan Shaqiri made way for Thomas Muller in the visitors' starting XI. Claudio Pizarro was chosen to lead the line ahead of Mandzukic from the start. There was also interesting news for Bremen up front, as on-loan striker Nils Petersen started alone in attack against his parent club.
Bayern fired an early warning shot after only six minutes. Franck Ribery created the danger, wriggling free down the left before planting a cross onto the head of Claudio Pizarro, who missed by inches.
The visitors were at it again moments later when a flowing move saw Bastian Schweinsteiger tee up Toni Kroos at the top of the box, but his powerfully-struck effort was blocked bravely by Sebastian Prodl.
Bremen weathered the early storm, though, and inspired by the raucous crowd inside the Weserstadion, began to bring the game back onto a more even foothold by fiercely contesting matters in midfield.
The home side soon fashioned its first chance, as Marko Arnautovic sent a lovely cross towards Zlatko Junuzovic, who could not get enough purchase on his header and missed the target.
However, despite the passion shown on the field, chances remained at a premium as neither side seemed able to channel their eagerness into any concerted pressure on the opposition goal.
Pizarro had already spurned a great chance in the opening minutes of the half, and he ended the period in the same fashion as he missed another close-range header, this time nodding Kroos’ delivery the wrong side of the post.
Bayern though nearly stormed into the lead minutes after the restart. A delightful display of nimble feet from Ribery left on Bremen defender on the turf, giving the Frenchman a sight on goal, but his finish rebounded agonizingly off the post.
Aaron Hunt sent a solid drive into the arms of Manuel Neuer not long after, but Bremen were almost carved apart by Ribery again. The French international drove past Gebre Selassie and squared towards goal, but Sebastian Mielitz spread himself well to block at a tight angle.
Ribery seemed to be at the end of everything for Bayern, and went close yet again with a snap shot from the edge of the area that bounced the wrong side of the post, as this time, Mielitz could only look on helplessly.
Bayern’s profligacy nearly told in the 70th minute, as a great run and cross from Kevin De Bruyne was directed just off target by Arnautovic, who arrived unmarked at the far post. However, just when it looked like neither team would break through, Gustavo found his range with nine minutes to go, bending a well-struck effort past Mielitz from 20 yards out.
Within moments, Bayern struck again as Mandzukic latched onto a cross from fellow substitute Shaqiri to poke home the second goal from an unmarked position and wrap up the points for the visitors.