Bayer Leverkusen continued their march towards the Bundesliga title as they edged to victory at Freiburg to restore their 10-point lead at the top.
Xabi Alonso’s side remain unbeaten in the league this season and ran out 3-2 winners on Sunday afternoon.
Leverkusen remain on course to end Bayern Munich’s run of 11 successive titles after efforts from Adam Hlozek and Patrik Schick saw them build a two-goal lead after Ritsu Doan had pulled the hosts level following Florian Wirtz’s early opener.
Yannik Keitel pulled another back for Freiburg but Leverkusen saw out the closing stages to win their 22nd league game of the campaign.
Borussia Dortmund came from behind to beat Eintracht Frankfurt 3-1 after their former player Mario Gotze had given the visitors the lead.
Karim Adeyemi equalised before half-time and Mats Hummels gave Dortmund the lead late on, with a stoppage-time Emre Can penalty securing the points.
Runaway Serie A leaders Inter Milan were held to a 1-1 draw by reigning champions Napoli.
Inter have lost just once in the league this season and appeared on course for another win as Matteo Darmian struck just before half-time.
Napoli’s title defence has been non-existent but they rallied for a point at San Siro as Juan Jesus levelled with nine minutes left on the clock.
The draw means Inter’s lead at the summit sits at 14 points, with nearest rivals AC Milan cutting the deficit following a 3-1 victory at Verona.
Theo Hernandez, Christian Pulisic and Samuel Chukwueze were on target for the visitors, who never looked troubled despite Tijjani Noslin temporarily halving the lead.
Third-placed Juventus had to settle for a 0-0 draw at home to Genoa as Dusan Vlahovic was sent off late on as he was booked twice for remonstrating with the referee.
Lorenzo Pellegrini scored the only goal of the game as Roma beat Sassuolo 1-0 while Fiorentina’s trip to Atalanta was postponed after Joe Barone, a Fiorentina director, was rushed to hospital.
Barcelona eased to a 3-0 win at Atletico Madrid to move within eight points of Real Madrid at the top of LaLiga.
On a comfortable night for Xavi’s side, they saw off their fellow Champions League quarter-finalists as Joao Felix gave the visitors a half-time lead.
Robert Lewandowski and Fermin Lopez goals completed a fine night for the Catalan giants, while Atleti had Nahuel Molina sent off in stoppage time.
At the other end of the table, rock bottom Almeria celebrated their first league win of the season as Leo Baptistao scored the only goal in a 1-0 victory at Las Palmas.
Celta Vigo, meanwhile, pulled five points clear of the relegation zone with a 2-1 comeback win at surprise strugglers Sevilla.
Youssef En-Nesyri had put the home side in front but two goals in six minutes from Carles Perez and Jorgen Larsen secured the points for Celta.
Jorge Cuenca struck as Villarreal beat Valencia 1-0 while Real Betis lost 2-0 at Rayo Vallecano courtesy of goals from Florian Lejeune and Sergio Camello.
Kylian Mbappe hit a hat-trick as Ligue 1 leaders Paris St Germain thrashed Montpellier 6-2 at the Stade de la Mosson.
Vitinha opened the scoring for the visitors before Mbappe bagged his first of the evening, only for the home side to draw level before the break through Arnaud Nordin and a Teji Savanier penalty.
PSG would make sure of the points in emphatic style as Mbappe added two more either side of a Lee Kang-in effort, with a late Nuno Mendes goal completing the rout.
The three nearest challengers to PSG all dropped points as Martin Satriano’s goal for second-placed Brest earned them a 1-1 draw at home to Lille, who sit fourth.
A thrilling game at Stade Louis II saw third-placed Monaco concede a last-gasp equaliser in a 2-2 draw with Lorient – with both sides finishing with 10 men.
A first-minute Wilfried Singo own goal put Lorient in front before Formose Mendy put through his own goal to level and Youssef Fofana’s effort just before the hour put the home side ahead.
Denis Zakaria then saw red for Monaco with Lorient reduced to 10 in the 89th minute as Tosin Aiyegun was dismissed, only for Tiemoue Bakayoko to secured a point for Lorient in stoppage time.
Rennes beat Marseille 2-0 as Martin Terrier and Benjamin Bourigeaud scored for the hosts, while Reims were 2-1 winners over Metz and Clermont beat Le Havre by the same scoreline.