Borussia Dortmund are one win away from clinching the Bundesliga title after a 3-0 victory at Augsburg.
Bayern Munich’s loss to Leipzig on Saturday opened the door for Dortmund and they seized their opportunity, moving within three points of ending the Bavarian club’s 10-year reign as German champions.
Sebastian Haller – who missed the first half of the season as he battled cancer – scored twice and Julian Brandt once after Felix Uduokhai had been sent off for Augsburg.
Mainz suffered a 4-1 home defeat to struggling Stuttgart on Saturday despite taking the lead, while Lars Stindl scored a 90th-minute equaliser to earn Borussia Monchengladbach a 2-2 draw with Bayer Leverkusen.
In Spain, Real Madrid’s miserable week was compounded by a 1-0 defeat to lowly Valencia.
Four days after their humbling by Manchester City in the Champions League, Real went down to Diego Lopez’s 33rd-minute goal.
He was then shown a straight red card for lashing out at Hugo Duro in stoppage time.
The result eased Valencia’s LaLiga relegation fears while Real dropped to third place in the table behind city rivals Atletico Madrid, who defeated Osasuna 3-0 with goals from Yannick Carrasco, Saul Niguez and Angel Correa.
Espanyol gave themselves a lifeline in the battle at the bottom with a 2-1 victory at Rayo Vallecano while the Seville derby ended in a goalless draw between Sevilla and Real Betis, who had Juan Miranda sent off late on.
In Serie A, Inter Milan were brought back down to earth after reaching the Champions League final, falling to a 3-1 defeat against champions Napoli.
Romelu Lukaku drew the 10 men level with eight minutes to go but Napoli responded emphatically with goals from Giovanni Di Lorenzo and Gianluca Gaetano.
Inter dropped to fourth in the table behind Lazio, who beat Udinese 1-0 thanks to Ciro Immobile’s penalty.
Torino and Fiorentina drew 1-1 while strugglers Lecce and Spezia had to settle for a point each in a 0-0 draw.
Paris St Germain all but wrapped up another Ligue 1 title thanks to an early double from Kylian Mbappe in a 2-1 victory over Auxerre.
Lens ensured it is not yet mathematically over with a 3-1 victory at Lorient. Romain Faivre put the hosts ahead early on but goals from Florian Sotoca and Adrian Thomasson turned the match around before half-time and Seko Fofana made sure of the points late on.
Rennes boosted their European hopes by thumping relegated Ajaccio 5-0. Amine Gouiri scored a hat-trick while Mickael Alphonse was sent off for the Corsican side.
Brest defeated Clermont 2-1 while there were draws between Nice and Toulouse, Reims and Angers and Troyes and Strasbourg.