Borussia Dortmund delivered a needed win for their departing head coach, while Bayern Munich did the same for their departing doctor. Elsewhere Leverkusen added to Hannover's troubles, Mainz won and Cologne drew.
Dortmund 3-0 Paderborn
(Mkhitaryan 49', Aubameyang 55', Kagawa 80')
Pierre-Emerick Aubameyang has carried Dortmund at times this season. On a sunny Saturday, while his teammates struggled to convert an emotional afternoon into a winning tribute for departure head coach Jürgen Klopp, the Gabon attacker stepped up once again.
Having been denied brilliantly in the first half by Lukas Kruse, Aubameyang whipped in a cross four minutes after the restart and Henrikh Mkhitaryan headed in at the near post. Not long afterwards, Aubameyang matched his goal tally from last season (13 goals), seizing on some sloppy Paderborn defending in the box. It was, eventually, a performance that delivered on early promise. There was even time for Shinji Kagawa to slot home a third. Jürgen Klopp's final act in yellow and black has started perfectly. The question is, can it finish the same way?
Hoffenheim 0-2 Bayern Munich
(Rode 38', Beck o.g. 90+3')
It's been a distracted week for Bayern and they looked it for the majority of their game against Hoffenheim. Chances were at a real premium. Manuel Neuer bailed out Dante after the Brazilian made another individual error, but Anthony Modeste couldn't beat the imposing Bayern keeper.
Much like the pinball week of news the club has received, Bayern eventually took the lead. Rafinha passed to Thomas Müller and after Oliver Baumann spilled his shot, the ball eventually fell to Sebastian Rode and the 24-year-old curled home superbly from inside the box. Having scored, Rode was lucky not to turn from hero to zero, but Tobias Stieler waved play on when he stepped on Eugen Polanski's foot in the box.
The usual windfall of goals did not follow in the second half. Lewandowski clipped the bar, Baumann made a great save to deny Müller and then Mario Götze overcomplicated things in the box. There was just enough time for Andreas Beck to haplessly convert into his own net to add a bit more comfort to the score, but were it not for Rode's goal, Juan Bernat (who was brought off at half-time with an ankle injury) might not have been the only one hurting at the end of the afternoon.
Leverkusen 4-0 Hannover
(Toprak 20', Brandt 40', Papadopoulos 50', Kiessling 70')
Hannover's battle against relegation looked difficult before their visit to Leverkusen, and after 50 minutes things looked ominous again for head coach Tayfun Korkut. The hosts' third goal of the afternoon came from Papadopoulos and had been preceded by a near-post header from Ömer Toprak and a glorious first touch and finish from 18-year-old Julian Brandt.
Kiessling's fourth was icing on the cake, but the ingredients were worth noting. Three of Leverkusen's goals came from corners - something they've only managed twice this season. That's seven consecutive league wins for Leverkusen now, six of which came with a clean sheet. They're peaking at just the right time.
Hannover, on a run of 12 games without a win, took half an hour to deliver a dangerous ball into the hosts' box, but that was about it. The need for inspiration is even greater in light of the news captain Lars Stindl is leaving at the end of the season, but his departure isn't without good reason. Hannover are staring down the barrel of relegation, but may be saved by the fact there are sides worse than them. In any case, they really do need a win.
Okazaki the difference, bore in Berlin
Shinji Okazaki's 11th and 12th goals of the season were just enough to quiet a hard-working start by Freiburg. Six minutes before the break, the Japanese striker converted a low cross from Jairo before adding his second following a goalmouth scramble. Nils Petersen missed a glorious chance in the second half, but things got exciting in the final 10 minutes.
Admir Mehmedi fired in a beauty - his first goal since the reverse fixture this season - before Yunus Malli restored Mainz's two-goal cushion after brilliant work from Daniel Brosinski. JonathanSchmid pulled a second back to make it 3-2, but the home side couldn't complete the comeback and not for the first time this season, Christian Streich's team paid the price for not taking their chances early.
Cologne set a new league record in the capital. Their 0-0 draw against Hertha was the club's eighth goalless draw of the season - a feat no side had before managed. That might have been prevented had Timo Horn not provided another good performance or Knut Kircher given a penalty after a clear tug from Per Skjelbred on Dominic Maroh.
Bundsliga Matchday 29 results: Frankfurt 0-0 Borussia Mönchengladbach, Hertha Berlin 0-0 Cologne, Freiburg 2-3 Mainz, Borussia Dortmund 3-0 Paderborn, Hoffenheim 0-2 Bayern Munich, Leverkusen 4-0 Hannover