Matchday 28 offered end-to-end games, though that excitement did not come from Munich. Mainz, Ingolstadt, and Hamburg made big moves up the table after securing critical victories.

Watch video01:07

Now live

01:07 mins.

Matchday 28 in 60 seconds

Bayern Munich 1-0 Eintracht Frankfurt(Ribery 20‘)

Bayern took an expected in the first half, but Franck Ribery made sure the goal was nonetheless spectacular. Mario Götze's shot from outside the box was deflected in to the air by Frankfurt goalkeeper Lukas Hradecky. That set up Ribery to knock it past the keeper and in to the net with an exquisite overhead kick.

Pep Guardiola's side were without Arjen Robben and Kinglsey Coman on either wing, and it certainly showed when the home side struggled to extend their lead against a Frankfurt side that had opted to play five across the defensive line. Apart from a well-placed shot from Xabi Alonso and close-range shot from Juan Bernat to force excellent saves from Hradecky, it was an afternoon in which Bayern looked comfortable with their one-goal lead and in little rush to extend to it.

Thomas Müller popped – as he tends to do – just minutes from time after beating the offside trap but struggled to get the ball from under his feet by the time Hradecky had confronted him in the Frankfurt box. Niko Kovac will undoubtedly be the happier of the two managers based on how each team performed, but Bayern once again walked away with all three points.

In a well-balanced clash, Darmstadt took the early lead through Sandro Wanger. The striker latched on to a poor back-pass from the usually dependable Serey Die to pick up his 11th goal of the season.

Yet before the break, Stuttgart would pull a goal back through an outstanding back-post volley from Christian Gentner after the midfielder latched on to a last-minute cross from Filip Kostic. Kostic set up another chance just before halftime, picking out targetman Artem Kravets before the forward laid a header off to the on-running Lukas Rupp. Rupp smashed a volley in from just inside the box to give Stuttgart the lead.

Despite the quick turn around, Darmstadt kicked off the second half with a renewed sense of purpose. A free-kick found an unmarked Peter Niemeyer in the six-yard box to head home one of the easiest goals of the afternoon across the league. The home side almost stole a late winner five minutes from time when Luca Caldirola knocked a header off the back post from a corner, but Peter Niemeyer's follow-up shot was saved by Przemyslaw Tyton.

In the end both sides would have to settle for a point apiece in a game both would have undoubtedly felt they could have won.

Hannover 0-3 Hamburg(Cleber 61', Ilicevic 73', Muller 75')

With just two wins from the past 10 league games for both these sides, there was little to suggest either was going to pull away with a comfortable win. That was certainly confirmed in the opening 45 minutes as both Hamburg and Hannover wrestled over possession but offered very little in terms of attacking options.

It wasn't until the second half that the Hannover finally saw a breakthrough between these two out-of-form sides. Cleber rose above all others to head home from the corner from Aaron Hunt just 16 minutes in to the second half.

Hannover's defense imploded after the goal, and not long after Ivo Ilicevic was doubling Hamburg's lead with a front-post finish following a sharp, driven cross from Sven Schipplock. Five minutes later and just two minutes after the restart, Hamburg found a third when Nicolai Muller weaved through Hannover's defense before taking the ball around the goalkeeper to tap in a wonderful solo effort.

Hannover kept their spot at the very bottom of the Bundesliga table as Hamburg picked up an important three points.

Ingolstadt 3-0 Schalke(Hartmann 29', Hinterseer 45', Lezcano 65')

Schalke were left to rue another dreadful away performance after travelling to Ingolstadt and coming undone by the promoted Bundesliga minnows. Although Andre Breitenreiter's side looked strong and threatening in the opening 30 minutes, the club's defensive structure became completely exposed before long.

The breakthrough came just before the half hour mark, when Junior Caicara was deemed to have pulled down Dario Lezcano in the box. After little deliberation from the referee, a penalty was awarded and Moritz Hartmann stepped up to confidently put it away. The home side would then double their lead just before the break when a strong run and cut-back from Danny da Costa found Lukas Hinterseer, and the Ingolstadt forward had the space and the time to knock a ball past Ralf Fahrmann at the front post.

Unfortunately for the "Royal Blues", it was some more poor defending that would ultimately seal the win for Ingolstadt. A blocked clearance from Roman Neustadter landed directly in front of Lezcano in front of goal. The striker happily obliged and made it three goals and three points for his side on the day.

The visitors opened the scoring within the first 10 minutes when a counter attack through Ja-Cheol Koo found Caiuby unmarked on the far post. The Brazilian forward casually slotted the ball past Loris Karius to give Augsburg their second opening goal in as many games. Unfortunately for the Bavarians, the lead didn't last long. Mainz pulled a goal back just four minutes later when a one-two between Yunus Malli and Christian Clemens sliced the visiting defense wide open and allowed the latter to tap home his fourth goal of the season.

The home side doubled their lead just eight minutes later when a slip from Augsburg central defender Jeong-Ho Hong allowed Danny Latza to latch on the loose ball and play in Pablo De Blasis to knock home his side's second of the day. Yet the momentum would swing back in to Augsburg's favor before the break when Koo latched on to a driven cross to fire a shot past Karius to even up the score at half-time.

Mainz would regain their lead when Daniel Brosinski's cross found De Blasis at the back post, before the winger knocked a perfectly placed header across goal and in to the opposite corner to complete his brace and restore Mainz's lead. Clemens would bring an end to the madness and confirm all three points for Martin Schmidt's side in the second half. Towering striker John Cordoba found Clemens on a counter attack, and Clemens converted the chance to grab his second goal of the day. Augsburg finished Saturday without a single point despite a brave performance in Mainz.