Schalke completed the league double over rivals Borussia Dortmund on Saturday as the Royal Blues held on for a 2-1 win at Veltins Arena.

After winnng at Dortmund in October, the home side snatched a two-goal advantage in the opening 35 minutes with goals from Julian Draxler and Klaas- Jan Huntelaar, while Dortmund's lone reply came from Robert Lewandowski in the second half.

Schalke climbs into fourth place with the win, while Dortmund remains in second place, one point above Bayer Leverkusen.

Draxler was making his 100th Bundesliga appearance at the age of 19, and he found the net after 11 minutes when he converted Atsuto Uchida's cross.

Uchida played provider once more in the 35th minute when he served up a ball that Huntelaar nodded beyond the reach of Dortmund goalkeeper Roman Weidenfeller.

Lewandowski hauled Dortmund back into the match on the hour mark when he beat Schalke netminder Timo Hildebrand in a one-on-one situation, but the home side got men behind the ball and defended well over the remainder of the contest to secure all three points.

Bayern Munich 3, Dusseldorf 2

Munich, Germany - Bayern Munich came from a goal down in the final 15 minutes to claim a 3-2 victory over Dusseldorf at the Allianz Arena with Jerome Boateng netting the winning goal four minutes from time.

The two sides traded goals in the first half with Dusseldorf's Mathis Bolly firing his side in front in the 16th minute, only for Thomas Muller to net the equalizer just before the break.

Andreas Lambertz had Dusseldorf in position to claim the win when he scored in the 71st minute, but Claudio Pizarro came off the bench and almost immediately set up the tying goal for Franck Ribery a few minutes later.

Boateng then found the net for the first time in the league this season when he floated under a cross from Philipp Lahm to head the ball past goalkeeper Fabian Giefer.

The result stretches Bayern's lead in the Bundesliga to 20 points.

Mainz 1, Bayer Leverkusen 0

Mainz, Germany - Bayer Leverkusen squandered a chance to overtake Borussia Dortmund for second place as the club slumped to a 1-0 defeat at Mainz.

Mainz had drawn its last four games entering the match, but a 61st-minute penalty kick from Andreas Ivanschitz snapped that streak and moves the club into sixth place.

Adam Szalai nearly found the net in the 12th minute for Mainz but he saw his effort come back off the crossbar.

The deadlock was broken just after the hour mark when Leverkusen's Manuel Friedrich was whistled for handling the ball inside his own penalty area.

Ivanschitz stepped to the spot and easily dispatched the ball inside the right post.

Wolfsburg 5, Freiburg 2

Freiburg, Germany - Wolfsburg pulled nine points clear of the relegation zone on Saturday as a pair of goals from Ivica Olic helped the club to a 5-2 win at Freiburg.

After a goal for each side in the first seven minutes, Vieirinha put Wolfsburg on top with a powerful volley from outside the area.

Olic then doubled the lead before halftime with another quality goal that saw him score with an overhead kick.

The Croatian made it 4-1 when he headed home Fagner's cross, while Freiburg clawed a goal back with 25 minutes to play as Johannes Flum scored from a nice setup by Cedric Makiadi.

Diego capped the scoring for Wolfsburg in stoppage time, dropping Freiburg into seventh place.

Hoffenheim 3, Greuther Furth 0

Furth, Germany - Hoffenheim revived its hopes of survival on Saturday with a 3-0 triumph over Greuther Furth in a battle of the bottom two sides in the Bundesliga.

Goals from Roberto Firmino and Joselu six minutes apart in the first half handed the visitors control of the game.

Tobias Weis then netted his first goal of the season in the 50th minute after he exchanged passes with Joselu and fired a shot past goalkeeper Max Grun.

Furth remains rooted to the bottom of the table on 14 points, but Hoffenheim is now within two points of the relegation playoff spot, currently held by Augsburg.

Monchengladbach 1, Werder Bremen 1

Monchengladbach, Germany - Monchengladbach did little to improve its hopes of snatching a European place as the team was held to a 1-1 draw at home by bottom-half Werder Bremen.

Peniel Kokou Mlapa tallied the opening goal for Monchengladbach in the 72nd minute by heading home a corner kick from Oscar Wendt.

But the home side threw away its lead only five minutes later when Kevin De Bruyne played a ball into the area for Aleksandar Ignjovski to finish off.

Monchengladbach resides in eighth place after the result, with Bremen sitting eight points above the drop zone.