- Borussia Dortmund and Schalke keep pressure on Bayern Munich with victories
- Champions Dortmund win 4-1 against Freiburg, who drop to bottom of table
- Raul scores hat-trick as third-placed Schalke crush Werder Bremen in late match
- Bayer Leverkusen lose ground on leaders after losing 3-0 against Nuremberg
Bayern Munich will take a three-point lead into Germany's winter break after Bundesliga champions Borussia Dortmund and Schalke both won on Saturday to stay in contention.
Bayern had moved six points clear with Friday's 3-0 win over Cologne, despite Franck Ribery's red card, but Dortmund followed suit by crushing lowly Freiburg 4-1 and third-placed Schalke dented Werder Bremen's title bid with a 5-0 triumph in the late match thanks to Raul's hat-trick.
Fourth-placed Borussia Monchengladbach will seek to stay a point behind those two clubs with victory at home to Mainz on Sunday.
Freiburg will end the year in bottom place after Dortmund's unbeaten run extended to 10 league matches, with Robert Lewandowski scoring twice to take his season's tally to 13.
The Poland striker opened the scoring in the seventh minute after being set up by young Japan international Shinji Kagawa, but Jan Rosenthal leveled on 34.
Ilkay Gundogan put Dortmund back in front just before the break despite being initially flagged for offside as Jakub Blaszczykowski pounced on an error by Rosenthal, while Kevin Grosskreutz made it 3-1 before the hour after Kagawa combined with Lewandowski.
Kagawa and Grosskreutz then helped Lewandowski to wrap it up with 20 minutes to play as Freiburg dropped below Augsburg on goal difference.
Schalke joined Dortmund on 34 points after veteran striker Raul netted the opening three goals against fifth-placed Werder Bremen.
The 34-year-old Spaniard put the home side 2-0 up after 20 minutes, with Dutch strike partner Klaas-Jan Huntelaar involved in both goals.
He completed his third treble for the club since joining from Real Madrid in mid-2010 with a header just after the hour from Christian Fuchs' cross, taking his Bundesliga tally this season to double figures.
Greek defender Kyriakos Papadopoulos added the fourth on 67 from Jose Manuel Jurado's cross, and Huntelaar scored his 15th league goal of 2011-12 with 20 minutes to play with a lob over goalkeeper Tim Wiese.
Sixth-placed Bayer Leverkusen lost ground on the top teams after a 3-0 home defeat by Nuremberg, who joined 14th-placed Mainz on 18 points -- three above the relegation zone.
Daniel Didavi and Jan Hegler put Nuremberg 2-0 up inside 22 minutes, while Tomas Pekhart's 73rd-minute header killed off a Leverkusen team who will face Barcelona in the last 16 of the European Champions League.
Hamburg moved above Mainz despite being held 1-1 by Augsburg, meaning coach Thorsten Fink has yet to taste defeat in nine games in charge.
Striker Torsten Oehrl put the visitors ahead just after the hour, but Paolo Guerrero bundled in an equalizer for Hamburg just five minutes later.
Wolfsburg moved up to 12th with a 1-0 win over mid-table Stuttgart, as 20-year-old striker Sebastian Polter marked his second league outing with the only goal in the 74th minute.
Hoffenheim and Hertha Berlin drew 1-1 in a mid-table clash that saw both teams reduced to 10 men.
Sejad Salihovic put Hoffenheim ahead in the 21st minute then Raffael was sent off for lashing out at the Bosnian on the half-hour.
Hoffenheim's Ghana center-back Isaac Vorsah was also dismissed for bringing down Adrian Ramos just after the hour, and Roman Hubnik netted a last-minute equalizer for the visitors.