Leaders Bayern Munich extended their lead at the top with a 3-0 win in Cologne. Elsewhere, rivals Borussia Dortmund thrashed Leverkusen to pile the pressure on Roger Schmidt and Gladbach beat Schalke in the top game.
The leaders dominated much of the first half and deservedly took the lead through Javi Martinez‘ first goal of the season. Just a few minutes before conceding that opener, Cologne almost took the lead themselves through Osaka, but Manuel Neuer proved once again why he is the best keeper in the world. In an entertaining match played at a high tempo, Bayern had more possession and the better chances and killed the game off immediately after halftime. Juan Bernat was afforded too much space to gather Thomas Müller's cross and his shot was deflected past the despairing Thomas Kessler. Bayern's lead was never in any danger and Franck Ribery put the finishing gloss on a comfortable victory in the final minute.
Bundesliga Matchday 23: In pictures
Bayern Munich extended their lead at the top of the table with a comfortable 3-0 over Cologne, while Dortmund, Hoffenheim and Bremen also won. The top images from Matchday 23 in the Bundesliga.
Image: picture alliance/dpa/F. Gambarini
A stunner from Stafylidis
Augsburg took the lead and then came from behind to hold high-flying RB Leipzig to an entertaining 2-2 draw in Bavaria on Friday evening, as Bundesliga Matchday 23 got underway. Left-back Konstantinos Stafylidis put the hosts in front with a stunning long-range strike but Leipzig striker Timo Werner quickly drew the hosts level.
Image: picture alliance/dpa/S. Puchner
Hinteregger's revenge
Leipzig defender Marvin Compper gave the visitors the lead from a corner just after half-time but Augsburg defender Martin Hinteregger, who in summer turned down a move from Red Bull Salzburg to their Leipzig-based sister team in protest at the company's transfer policy, battled through the defense to force home an equalizer. Timo Werner missed a late chance for the visitors.
Image: picture alliance/SvenSimon/F. Hoermann
Bayern on the march
Bayern Munich are hitting form at just the right time, following up their recent league and cup successes (8-0 vs Hamburg and 3-0 vs Schalke) with a comfortable 3-0 win over Cologne. Goals from defenders Javi Martinez and Juan Bernat gave the champions a cushion before Franck Ribery finished off the scoring in injury time.
Image: picture alliance/dpa/R. Weihrauch
Aubameyang breaks Lewandowski's record
Pierre-Emerick Aubameyang scored his 74th and 75th Bundesliga goals for Borussia Dortmund to eclipse the tally of his illustrious predecessor Robert Lewandowski - and it took him 14 fewer games! The Gabonese hitman was criticised for his wastefulness in front of goal when Dortmund lost to Benfica in the Champions League but has now scored four in his last two games.
Image: Getty Images/Bongarts/M. Rose
Injury misery for Reus
Marco Reus has been ruled out of Borussia Dortmund's Champions League last-16 second-leg tie against Benfica on Wednesday night after suffering a suspected hamstring injury. The Black and Yellows will have to do without their playmaker as they look to overturn a one goal deficit from the first leg.
Image: picture alliance/dpa/F. Gentsch
Hit for six!
After conceding four against Atletico Madrid in the Champions League and two at home to Mainz in the Bundesliga last week, Bayer Leverkusen's sloppy defending has now cost them another six goals away at Borussia Dortmund. No team in the league has conceded more goals from set-pieces than Roger Schmidt's men.
Image: picture alliance/dpa/B. Thissen
Individual quality
Leverkusen might be struggling at the back but there is no denying the individual quality which kept Bayer in the game for 75 minutes. Kevin Volland (pictured, right) scored a wonderful solo goal to make it 2-1 just after half-time before a well-placed free-kick from Wendell made it 3-2 to give the Werkself hope - but they collapsed defensively in the final 15 minutes.
Image: Getty Images/Bongarts/L. Baron
Gomez among the goals
Mario Gomez scored in all of Andries Joncker's five games as interim manager of Bayern Munich in 2011 and the veteran striker scored in the Dutchman's first game in the Wolfsburg hot seat this weekend - his seventh goal of the season in the Bundesliga.
Image: Getty Images/Bongarts/A. Scheuber
Super-sub Kramaric
Ingolstadt were the better team for long periods in Hoffenheim but Julian Nagelsmann used his squad to full effect as the hosts fought their way to a flattering 5-2 victory. Andrej Kramaric (pictured) came off the bench to score Hoffenheim's third and set up their fourth in the space of two minutes.
Image: Getty Images/Bongarts/D. Kopatsch
Kruse at the double
Forward Max Kruse (pictured) struck twice in the second half as Werder Bremen secured all three points in a hard-fought victory over unlucky Darmstadt. Kruse converted from the spot with a quarter of an hour remaining before adding a second in stoppage time.
Image: picture alliance/CITYPRESS 24
Unlucky Darmstadt
New Darmstadt manager Torsten Frings could have seen his side go 2-0 up in the first ten minutes in Bremen as he returned to the stadium where he made over 300 Bundesliga appearances as a player. First, Bremen goalkeeper Felix Wiedwald saved from Aytac Sulu's header before Antonio Colak hit the post.
Image: picture alliance/dpa/C. Jaspersen
Foals soaring under Dieter Hecking
A draw Darmstadt, a loss against Leipzig. Those are the only two Bundesliga games in which Borussia Mönchengladbach have dropped points under new coach Dieter Hecking. Raffael (pictured) has returned to fine form after missing time with an injury, scoring the third goal in Gladbach's 4-2 win over Schalke.
Image: Getty Images/Bongarts/M. Hitij
Sunshine in the rain
Fabian Johnson (middle) drove the scoring effort from Gladbach. He scored a goal in each half, both one-touch finishes that Schalke goalkeeper Ralf Fährmann had little chance of stopping. The rain had no affect on the American's play and his wild hairstyle.
Image: Getty Images/Bongarts/C. Koepsel
Perfect start
After three straight defeats, Eintracht Frankfurt could not have wished for a better start as they looked to get back on track against Freiburg. Branimir Hrgota gave the Eagles an early lead with a well-taken goal.
Image: Getty Images/Bongarts/A. Grimm
Double trouble
But Frankfurt's joy was short-lived. Freiburg hit back with two goals from Florian Niederlechner (pictured left) to take all three points. Freiburg played the better football and created the better chances from open play.
Image: Getty Images/Bongarts/A. Grimm
Stars and stripes
US internationals John-Anthony Brooks (pictured left) of Hertha Berlin and Hamburg's Bobby Wood (center) enjoyed an intense battle during Sunday's late game. In a hard-fought game, Wood's tenacity led to the only goal of the game...
Image: Getty Images/Bongarts/M. Rose
Vital winner
...which was scored by Albin Ekdal. The Swede registered his first ever goal for Hamburg to secure victory over Hertha and three crucial points in the battle to escape the relegation zone.
Pierre-Emerick Aubameyang notched goals number 20 and 21 of the season as Borussia Dortmund cruised to victory over misfiring Leverkusen. The home side proved more effective in front of goal and took the lead inside six minutes through Dembele before Aubameyang doubled their advantage. Leverkusen coach Roger Schmidt made a couple of attacking changes and they paid off just after the break as Volland out-muscled Sokratis to pull one back. But their vulnerability from set-pieces was laid bare once again as Aubameyang headed in from close-range after the Leverkusen defense failed to properly clear a free-kick floated into the area. It was the 16th goal the Werkself have conceded from a dead ball this season. Wendell bent in a spectacular free-kick to haul Leverkusen back in the game, but Pulisic restored the two-goal advantage a few minutes later. Andre Schürrle then scored from the penalty spot before Raphael Guerrerio put the icing on the cake. Dortmund could have scored more and there will be serious questions asked of Roger Schmidt's tactics after a result that could cost him his job.
Mainz 1-1 Wolfsburg
(Cordoba 24‘ – Gomez 20‘)
It was an honors even on an emotional afternoon for one player in particular. Mainz' record goalscorer Yunus Malli made his first appearance back at the club since his move to Wolfsburg during the winter break. But he was overshadowed by his successor at the Opel Arena, Levin Öztunali. The midfielder set up Cordoba as Mainz immediately canceled out Mario Gomez' opener. The draw was a fair reflection of a lively and open game and both sides can probably live with the point.
Relegation-threatened Ingolstadt can count themselves very unlucky to leave Champions League-chasing Hoffenheim empty-handed. Their tenacity and adventurous style proved a constant threat and they even took the lead on the hour-mark through Süle's own goal. But Julian Nagelsmann's side showed just why they are in the position they are in with a ruthless display of clinical finishing in the final 30 minutes to keep the pressure on Dortmund in third.
Werder Bremen 2-0 Darmstadt
(Kruse 75‘, 90‘)
Rock-bottom Darmstadt started the game full of intent and dominated the opening proceedings. Felix Wiedwald in the Bremen goal has come in for plenty of criticism this season but he certainly kept his side in the match during the first half with a string of important saves. However, Bremen slowly started to turn the screw after halftime and got the break they needed with a quarter-of-an-hour to go. Aytac Sulu bundled over Claudio Pizarro in the area and Bremen were awarded a penalty. Max Kruse made no mistake from the spot. In the last minute, Kruse then doubled his and Bremen's tally with a cool finish on the counter to secure vital points in the battle to avoid the drop.
Gladbach came into the game full of confidence, as befitting a side with the best record in the Bundesliga in the second-half of the season. And they started full of intent, putting Schalke under a great deal of pressure early on. They got their reward when Fabian Johnson nipped in ahead of Höwedes to put them in front just before the half-hour mark. Schalke were then awarded a soft penalty allowing Bentaleb to level the scores. But after the break, Gladbach hit the visitors with a double-whammy. First Johnson, then Wendt scored in quick succession as Borussia displayed the neat, incisive style of football that has brought them two consecutive Champions League campaigns. When Raffael made it four, it looked as if Schalke would disintegrate completely. But they did manage to make the scoreline a bit more respectable with Goretzka’s late consolation. Gladbach are full of momentum now and could make a late surge for Europe.