Bayern Munich played a heavily rotated squad and yet still put on a show in the 1,000th game of outgoing coach Jupp Heynckes' illustrious career.

The game was comparatively slow to start, but Arjen Robben opened the scoring on 25 minutes, courtesy of a Philipp Lahm cross from the right. Robben turned provider four minutes later, with Javi Martinez heading his free kick home from close in.

Robben (airborne) jumped back into action, scoring one and making two

The third Bayern strike went down as a Theodor Gebre Selassie own goal, although Franck Ribery was hovering. Mario Gomez, in for Mario Mandzukic up front, scored a pair and Franck Ribery picked up a goal of his own, while Belgian Kevin de Bruyne scored Bremen's consolation goal.

All six Bayern goals were scored from inside the box, demonstrating the club's emphatic approach play all season. Jupp Heynckes' men have scored 63 goals and conceded just eight in 23 Bundesliga games - the only open question is when they seal the title.

More goals up north

Hamburg had a chance to go fifth with a win in Hannover, but fell well short of that mark.

Hannover's key attacking option, left winger Szabolcs Huszti set up the opening goal by planting a free kick on Mame Biriam Diouf's head.

This Huszti penalty was unstoppable, but the Hungarian paid the price after slipping when he struck

Rafael van der Vaart equalized from the penalty spot, still with just 13 minutes on the clock, but then Hannover ran their guests ragged.

Huszti restored the lead with an emphatic penalty, curiously injuring himself in the process of striking the ball. He was subbed out before the break.

Didier Ya Konan scored a pair of pretty goals and Mo Abdellaoue rounded out the rout late on as Hamburg keeper Rene Adler suffered a tough day in the office as Hamburg lost 5-1.

All square in Mainz

Mainz were unable to make a one-man advantage count on home soil, meaning they missed the chance to jump stuttering Hamburg. Striker Adam Szalai set up new signing Niki Zimling for an early opener, annulled by a Naldo header on 15 minutes.

Wolfsburg had to adjust when defender Alexander Madlung fouled Nicolai Müller and was judged to be the last defender. Even with a numerical advantage, Mainz struggled to dominate. Goal poacher Szalai uncharacteristically fluffed a pair of good chances in the second half to seal three points for Thomas Tuchel's side.

Augsburg's Korean connection played a big part

Stuttgart and Nuremberg also played out a 1-1 draw in arguably the worst game of the afternoon. Marco Feulner scored late on to eradicate Stuttgart's one-goal lead, with Bruno Labbadia's side probably tired, playing less than 48 hours after their win in the Europa League on Thursday.

Augsburg win battle in the basement

Augsburg jumped out of the automatic relegation zone with a crucial home win, 2-1, against Hoffenheim. January signing Dong-Won Ji and striker Sascha Mölders hit the Augsburg goals with Hoffenheim only threatening in the closing phases of the game. Igor de Camargo, on loan from Borussia Mönchengladbach, brought Hoffenheim back into the game with only stoppage time left to play, but an equalizer never materialized. Hoffenheim therefore drop to 17th in the table.

An unlikely hero

In the evening match, Schalke beat Fortuna Düsseldorf 2-1 - a crucial win for the struggling Royal Blues. Schalke therefore secured only their second victory in 12 Bundesliga matches.

Matip was ice cool with both finishes

Central defender Joel Matip scored both of Schalke's goals, bookending a strike from Düsseldorf's Axel Bellinghausen. Despite dominating almost all of the 90 minutes, enjoying more than 60 percent possession, Schalke looked all at sea in the moments after Bellinghausen's 56th-minute equalizer.

Matip has become something of a Düsseldorf specialist, he also scored in Düsseldorf early in the season.

On Sunday, Marco Reus returns to Mönchengladbach with Borussia Dortmund - an encounter Dortmund won 5-0 on home turf in September, with a pair of Reus goals. In the evening game, Greuther Fürth host Bayer Leverkusen, in interim coach Ludwig Preis' first game in charge.