Club World Cup finalists Bayern Munich stayed seven points clear at the top of the Bundesliga on Saturday after title rivals Borussia Dortmund and Bayer Leverkusen lost their final matches before the winter break.
Second-placed Leverkusen (37 points) went down to a 74th-minute goal on the break from Santiago Garcia as hosts Werder Bremen won in the league for the first time since November.
It was an even worse day for third-placed Borussia Dortmund who slumped to their third straight home defeat as promoted Hertha Berlin came from behind to win 2-1.
Bayern, who meet Raja Casablanca in the Club World Cup final in Morocco later on Saturday, will play their game in hand in January as the Bundesliga takes a five-week break.
Hertha looked to be in for a tough afternoon when 18-year-old keeper Marius Gersbeck, replacing the injured Thomas Kraft, completely misjudged a charge out of his goal to allow Marco Reus to score after seven minutes.
Injury-hit Dortmund were then sent reeling as goals from youngsters Adrian Ramos and Sami Allagui turned the game.
Ramos slotted in an Allagui pass in the 23rd minute before the Tunisian added the second goal on the stroke of halftime.
Dortmund remained on 32 points, level with Borussia Moenchengladbach who host VfL Wolfsburg on Sunday.
Swiss Admir Mehmedi struck twice in the first half to help third from bottom Freiburg to a 2-1 win over Hanover 96, their third league victory of the campaign.
Shinji Okazaki also grabbed a double for Mainz 05, including a stoppage-time winner, as they triumphed 3-2 at Hamburg SV.
Rafael van der Vaart scored one of the goals for Hamburg who had Tomas Rincon sent off eight minutes from time.
(For more sports news and updates, follow Ahram Online Sports on Twitter at @AO_Sports and on Facebook at AhramOnlineSports.)