Zlatan Ibrahimovic set up two first-half goals but was sent off for dissent as his AC Milan side earned a 3-1 win at Parma in Serie A on Saturday.
Milan eased into a comfortable two-goal lead at the break thanks to goals from Ante Rebic in the eighth minute – a strike that was brilliantly set up by Ibrahimovic – and a fine Franck Kessie finish on the stroke of half-time.
The visitors’ task became much more difficult just before the hour mark, however, as out of the blue, Ibrahimovic was given a straight red card for something he said to the referee, much to the Swede’s bemusement.
What Ibrahimovic said to receive his eighth dismissal in Europe’s top-five leagues is unclear, as he did not even appear to be close to the referee when he brandished the red card, but it changed the complexion of the game.
Riccardo Gagliolo got Parma back into the match six minutes later, but Rafael Leao added a late third for second-placed Milan as Stefano Pioli’s team closed the gap to Inter Milan to eight points, with the league leaders facing Cagliari on Sunday.
Elsewhere, Andrea Belotti’s penalty was the difference as Torino won 1-0 at Udinese while Spezia scored two goals in the dying minutes to complete a comeback and beat bottom side Crotone 3-2.
Bundesliga: Bayern held, Dortmund win late on
Bundesliga leaders Bayern Munich stumbled to a 1-1 draw at home against Union Berlin after conceding an 86th-minute equaliser through Marcus Ingvartsen to see their lead at the top cut to five points with six games left.
Teenager Jamal Musiala had put a second-string Bayern team ahead in the 68th minute, picking up a Thomas Muller pass and weaving past three players in the box before firing home.
The Bavarians, missing nine players through injury or illness including top striker Robert Lewandowski and winger Serge Gnabry, dominated possession but let their guard down four minutes from full-time, allowing Ingvartsen to bundle in a cut-back.
Borussia Dortmund teenager Ansgar Knauff fired in an 80th-minute winner for his first professional goal to give his team a 3-2 victory at Stuttgart and maintain their slim hopes of a top-four finish.
Germany youth international Knauff, in his third league appearance, picked up the ball on the edge of the box and audaciously threaded his shot past two defenders and the goalkeeper to secure the win that lifted Dortmund to 46 points in fifth place.
Goals from Jude Bellingham and Marco Reus in the 47th and 52nd minutes gave Dortmund, who host Manchester City in their Champions League quarter-final second leg next week, a 2-1 lead after the hosts had gone in front thanks to Sasa Kalajdzic’s looping first-half header.
Daniel Didavi then fired in a 78th-minute equaliser for Stuttgart but their joy lasted only two minutes when the 19-year-old Knauff snatched the winner.
Bayern are now on 65 points, five ahead of second-placed RB Leipzig, who beat Werder Bremen 4-1 away. Eintracht Frankfurt tightened their hold on fourth place with a 4-3 home win over third-placed Wolfsburg.
Hertha Berlin could only draw 2-2 with Borussia Monchengladbach, despite playing most of the game with a player advantage after goalkeeper Yann Sommers early sending off for the visitors.
Ligue 1: Mbappe scores again in PSG win
Kylian Mbappe completed a remarkable week as he scored one and set up another to inspire Paris Saint-Germain to a 4-1 win at Racing Strasbourg as the French champions reduced Lille’s Ligue 1 lead to three points on Saturday.
The France striker, who scored twice in PSG’s 3-2 win at Bayern Munich in the Champions League quarter-finals earlier this week, opened the scoring with Pablo Sarabia, Moise Kean and Leandro Paredes also on the scoresheet to put the capital side on 66 points from 32 games.
PSG, who host Bayern in the return leg at the Parc des Princes on Tuesday, lead third-placed Monaco by four points before the principality team host bottom club Dijon on Sunday. Lille beat Metz 2-0 away on Friday.
In Saturday’s other Ligue 1 fixture, Gaetan Laborde scored a 92nd-minute equaliser as Montpellier drew 3-3 with Marseille.
La Liga: Real beat Barca in ‘Clasico’ to go top
Real Madrid beat rivals Barcelona 2-1 at home in an entertaining, rain-soaked ‘Clasico’ on Saturday to go top of La Liga.
Karim Benzema put the champions in charge at a soggy Alfredo Di Stefano Stadium with a delightful backheel in the 14th minute while a deflected Toni Kroos free-kick doubled their lead in the 28th.
Barca hit back on the hour mark through Oscar Mingueza and the defender almost found the equaliser later on, while the Catalans had a huge penalty appeal waved away when Martin Braithwaite fell following a challenge by Ferland Mendy.
Real midfielder Casemiro was sent off in stoppage time for picking up two yellow cards in the space of a minute while Barca substitute Ilaix Moriba hit the crossbar in the fourth minute of added time.
The hosts survived the nail-biting finish to complete a sensational week after beating Liverpool 3-1 in a Champions League quarter-final first leg on Tuesday.
Zinedine Zidane’s side joined Atletico Madrid on 66 points and moved top of the table, although Atletico can reclaim first place when they visit Real Betis on Sunday. Barca dropped to third on 65 points.
Elsewhere in La Liga on Saturday, Cadiz overcame Getafe 1-0, Eibar lost by the same scoreline to Levante and Athletic Bilbao were held to a goalless draw by Alaves.