Boateng earns dramatic win for Bayern
Bayern Munich twice came from behind before finally getting the better of Fortuna Dusseldorf with a dramatic 3-2 win at the Allianz Arena.
Mathis Bolly became only the ninth player to beat Manuel Neuer this season when he volleyed past Germany's number one in the 16th minute. But Bayern levelled just before the interval when Philipp Lahm teed up Muller, who made no mistake with a well-placed shot.
Fortuna did not fall apart and continued to frustrate their hosts before taking a shock lead for the second time. The ball arrived at Andreas Lambertz on the counter-attack and he made his way into the penalty area before beating Neuer with a low shot.
Bayern were level again within two minutes. Franck Ribery found the right-hand corner of the goal from Claudio Pizarro's assist within seconds of the Peruvian entering the fray. And Jerome Boateng then headed Bayern in front in the 86th minute with his first goal for the club as normal business was resumed from Lahm's cross.
Schalke completed a league double over Borussia Dortmund thanks to a 2-1 win at the Arena AufSchalke, a result which lifts Jens Keller's side up to fourth in the table.
Julian Draxler got the home team on their way to victory in the 11th minute with Klaas Jan Huntelaar doubling their advantage 10 minutes before the break.
The defending champions tried to respond in the second half, but only had a Robert Lewandowski consolation goal to show for their efforts as the gap between them and Bayern Munich at the top of the table grew to 20 points.
Bayer Leverkusen passed up the chance to move above Dortmund as they lost 1-0 at Mainz.
Andreas Ivanschitz netted the game's only goal from the penalty spot in the 61st minute to lift the hosts to sixth spot. The win ended a run of four straight draws for Mainz, who have lost just once in the last nine matches, while Leverkusen saw their four-match unbeaten streak ended and remained a point adrift of champions Dortmund.
Wolfsburg pulled away from the Bundesliga relegation zone with their biggest away win of the season, 5-2, as they made Freiburg suffer.
Max Kruse put Freiburg ahead in the second minute, but an own goal from Cedric Makiadi and fine strikes from Vieirinha and Ivica Olic turned the game on its head within 20 minutes. Olic's second gave Dieter Hecking's side an even more comfortable lead after the break before Johannes Flum scored a second for the home team, who dropped out of the top six as a result of their loss.
Diego added a fifth Wolfsburg goal with the last kick of the game as they opened a nine-point cushion over the relegation zone.
Borussia Monchengladbach and Werder Bremen shared the spoils in a 1-1 draw - a result which does little to improve either side's position.
Peniel Mlapa gave Monchengladbach the lead in the 72nd minute but Aleksandar Ignjovski equalised for the visitors just five minutes later. The draw left Gladbach in eighth place and Bremen, who at least snapped a three-game losing streak - in 13th spot and eight points above the relegation play-off berth.
Hoffenheim picked up a crucial 3-0 victory in the fight against relegation, winning at bottom club Greuther Furth.
Roberto Firmino gave Hoffenheim the lead in the 10th minute before Joselu made it 2-0 after 16 minutes and Weis wrapped up the win five minutes into the second half.
Hoffenheim, who came into game as the league's worst away team, jumped to 19 points for 17th place - just two points behind the relegation play-off spot. Furth have collected just four points at home, scoring four goals in the process, and have just 14 points.