Goals from Zlatko Junuzovic, Florian Grillitsch and Florian Kainz condemned second-placed Leipzig to their second successive league defeat.
Bayern can extend their 10-point lead when they travel to Borussia Monchengladbach on Sunday.
Borussia Dortmund closed the gap on Leipzig to three points with Friday's 1-0 win at Ingolstadt.
Hoffenheim are a point further back, and boosted their chances of a Champions League place with a 1-0 win over Bayer Leverkusen.
Having begun their first Bundesliga season with a record 13-match unbeaten run, Leipzig's title challenge has collapsed following four defeats in seven games, taking just seven points.
Elsewhere, French striker Anthony Modeste scored a hat-trick as Cologne beat fifth-placed Hertha Berlin, to take his league total to 22 for the season.
At the other end of the table, a Mario Gomez goal moved Wolfsburg out of the bottom three with a 1-0 win over bottom club Darmstadt.
Match ends, SV Werder Bremen 3, RB Leipzig 0.
Second Half ends, SV Werder Bremen 3, RB Leipzig 0.
Attempt blocked. Aron Jóhannsson (SV Werder Bremen) left footed shot from outside the box is blocked. Assisted by Fin Bartels.
Goal!  SV Werder Bremen 3, RB Leipzig 0. Florian Kainz (SV Werder Bremen) right footed shot from the left side of the six yard box to the centre of the goal following a fast break.
Attempt saved. Aron Jóhannsson (SV Werder Bremen) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Fin Bartels.
Substitution, SV Werder Bremen. Florian Kainz replaces Florian Grillitsch.
Attempt missed. Dayotchanculle Upamecano (RB Leipzig) header from the centre of the box misses to the left. Assisted by Emil Forsberg with a cross following a corner.
Corner,  RB Leipzig. Conceded by Niklas Moisander.
Delay over. They are ready to continue.
Delay in match Marcel Halstenberg (RB Leipzig) because of an injury.
Robert Bauer (SV Werder Bremen) is shown the yellow card for a bad foul.
Marcel Halstenberg (RB Leipzig) wins a free kick on the right wing.
Dangerous play by Robert Bauer (SV Werder Bremen).
Corner,  RB Leipzig. Conceded by Milos Veljkovic.
Marcel Halstenberg (RB Leipzig) wins a free kick on the left wing.
Foul by Theodor Gebre Selassie (SV Werder Bremen).
Substitution, SV Werder Bremen. Maximilian Eggestein replaces Thomas Delaney.
Offside, RB Leipzig. Stefan Ilsanker tries a through ball, but Emil Forsberg is caught offside.
Substitution, RB Leipzig. Oliver Burke replaces Benno Schmitz.
Foul by Davie Selke (RB Leipzig).
Thomas Delaney (SV Werder Bremen) wins a free kick in the defensive half.
Benno Schmitz (RB Leipzig) wins a free kick on the right wing.
Foul by Robert Bauer (SV Werder Bremen).
Emil Forsberg (RB Leipzig) wins a free kick on the right wing.
Foul by Thomas Delaney (SV Werder Bremen).
Corner,  SV Werder Bremen. Conceded by Stefan Ilsanker.
Substitution, SV Werder Bremen. Aron Jóhannsson replaces Claudio Pizarro.
Foul by Diego Demme (RB Leipzig).
Theodor Gebre Selassie (SV Werder Bremen) wins a free kick in the defensive half.
Davie Selke (RB Leipzig) wins a free kick in the attacking half.
Foul by Thomas Delaney (SV Werder Bremen).
Corner,  SV Werder Bremen. Conceded by Willi Orban.
Foul by Stefan Ilsanker (RB Leipzig).
Florian Grillitsch (SV Werder Bremen) wins a free kick in the defensive half.
Attempt missed. Marcel Sabitzer (RB Leipzig) right footed shot from the right side of the box misses to the right. Assisted by Timo Werner.
Stefan Ilsanker (RB Leipzig) wins a free kick in the defensive half.
Foul by Lamine Sané (SV Werder Bremen).
Corner,  SV Werder Bremen. Conceded by Dayotchanculle Upamecano.
Attempt saved. Marcel Sabitzer (RB Leipzig) right footed shot from outside the box is saved in the centre of the goal. Assisted by Emil Forsberg.
Foul by Diego Demme (RB Leipzig).
RB Leipzig lost ground on Bundesliga leaders Bayern Munich with a costly defeat at Werder Bremen.