Bayern Munich’s seven-year reign as Bundesliga champions is under severe threat following a 2-1 defeat at league leaders Borussia Moenchengladbach.

Although Bayern grabbed a 49th-minute lead through Ivan Perisic at the Gladbach Arena, the hosts snatched victory with a double from Ramy Bensabaini, including an added-time penalty for a foul on Marcus Thuram by Javi Martinez, who was also sent off.

The visitors, who have now lost back-to-back league games for the first time since May 2015, have dropped to seventh, seven points adrift of Gladbach, who remain a point clear of RB Leipzig after their 3-1 home win over Hoffenheim, helped by a Timo Werner brace to take his tally to 20 for the season.

Jadon Sancho also scored twice as Borussia Dortmund thumped struggling Dusseldorf 5-0 at the Westfalenstadion to maintain their title challenge. Marco Reus also netted two, while Thorgan Hazard grabbed his fourth of the season.

In taking his tally to 11 for the season, and 20 overall for Dortmund, the 19-year-old England international has become only the fourth teenager in Bundesliga history to score 20 goals.

Schalke lost ground with a 2-1 defeat at Bayer Leverkusen, who are up to sixth, level on points with the team they beat and Freiburg, who enjoyed a 1-0 home win over Wolfsburg.

In the day’s other game, Augsberg beat Mainz 2-1.

Lionel Messi scored the 53rd hat-trick of his career as Barcelona retained top spot in La Liga with a 5-2 thrashing of Mallorca.

With goals in the 17th, 41st and 83rd minutes, it was also Messi’s 35th La Liga treble to give him sole possession of a record he had previously held alongside Cristiano Ronaldo.

Barcelona had responded to Real Madrid’s 2-0 win earlier in the day as Raphael Varane and Karim Benzema temporarily moved top, with the victory tainted by an 83rd-minute red card for Ferland Mendy.

Kevin Gameiro scored twice for Valencia in a 4-2 win at Levante, who had led 2-0 after 20 minutes courtesy of a brace from Roger, only for the home side to capitulate that included the 74th-minute dismissal of Falcon.

Granada are up to ninth after a 3-0 home win over Alaves, who finished the game with nine men following the second-half dismissals of Mubarak Wakaso and Victor Laguardia.

Reigning champions Juventus suffered their first Serie A defeat of the season with a 3-1 loss at Lazio, despite opening the scoring through Ronaldo.

Luiz Felipe hauled Lazio level on the stroke of half time to unsettle the visitors, who had Juan Cuadrado dismissed in the 69th minute.

Lazio took full advantage with further goals from Sergej Milinkovic-Savic and Felipe Caicedo to move up to third, three points behind second-placed Juve and five adrift of leaders Inter Milan. The hosts even had the luxury of seeing a Ciro Immobile penalty saved by Wojciech Szczesny.

Atalanta are up to sixth after a 3-2 home win over Hellas Verona, with Berat Djimsiti scoring an added-time winner after Pawel Dawidowicz had been dismissed in the 85th minute.

Udinese and Napoli shared the spoils from a 1-1 draw in which Nikola Maksimovic was red carded.

Ligue One leaders Paris St Germain came from a goal down and took advantage of Pedro Mendes’ 72nd-minute dismissal to score three goals in the final 16 minutes – from Neymar, Kylian Mbappe and Mauro Icardi – to win 3-1 at Montpellier and move eight points clear of second-placed Marseille.

Rennes are up to fourth after a 2-1 home win over Angers, with both goals coming from M’Baye Niang.

Bottom club Toulouse suffered a sixth straight defeat in losing 4-2 at Strasbourg, while three goals in seven second-half minutes from Wissam Ben Yedder, Guillermo Maripan and Keite Balde Diao helped Monaco beat Amiens 3-0.

Relegation-threatened Metz are seven games without a win after losing 4-1 at Nice.