Spurs 2-2 Arsenal (Alderweireld 60, Kane 62; Ramsey 39, Alexis Sánchez 76)
Third-placed Arsenal lost Francis Coquelin to a second-half red card and then conceded twice in quick succession. The Gunners fought back to avoid a fourth straight defeat, though, and remain three points behind their north London neighbours but are now eight adrift of leaders Leicester.
Dortmund 0-0 Bayern
Arturo Vidal had a close-range volley kept out superbly by Roman Bürki, while Manuel Neuer twice denied Pierre-Emerick Aubameyang as Der Klassiker ended goalless. Having avoided a second successive Bundesliga reverse, Bayern maintain their five-point lead over second-placed Dortmund.
Sporting 0-1 Benfica (Mitroglou 20)
Kostas Mitroglou, who now has eight in his last eight appearances in all competitions, scored the only goal as Benfica replaced Sporting – who had Adrien Silva sent off late on – at the Portuguese Liga summit. Rui Vitória’s team have won 11 of their last 12 league fixtures.
Chelsea 1-1 Stoke (Traoré 39; Diouf 85)
Bertrand Traoré struck his fourth in five outings as tenth-placed Chelsea were held in the league for a tenth time this term. Interim coach Guus Hiddink became the first manager to go 12 Premier League games unbeaten from the beginning of a single spell at a club.
Dynamo 2-0 Dnipro (Yarmolenko 20, Gusev 38)
Dynamo, beaten only once in the league all season – in mid-October – returned to Ukrainian Premier League action for the first time since December. Victory puts them top of the pile, three points ahead of Shakhtar Donetsk, who play on Sunday.
Sergio Agüero scored twice and missed a penalty
Manchester City 4-0 Aston Villa (Touré 48, Agüero 50 60, Sterling 66)
Fourth-placed City ended a run of three straight Premier League defeats to close the gap on both north London teams and remain ten points off Leicester, with a game in hand on all three. Despite missing a penalty, Sergio Agüero increased his club haul to 21 in 30 outings in all competitions this term.
Paris 0-0 Montpellier
Though they remain 23 points clear of Monaco, Paris have now won only one of their last four Ligue 1 fixtures. With injured duo Marco Verratti and Blaise Matuidi doubts to face Chelsea in midweek, Laurent Blanc used Javier Pastore and Zlatan Ibrahimović only as substitutes and left Thiago Motta on the bench throughout.
Groningen 0-3 PSV (Willems 7, Pröpper 51, Locadia 88)
Jetro Willems struck for the first time this season as Phillip Cocu’s side claimed a tenth successive league win. The Dutch title holders increase their lead at the Eredivisie summit to four points, having played a game more than second-placed Ajax.
Real Madrid 7-1 Celta (Pepe 41, Ronaldo 50 58 64 76, Jesé 77, Bale 81; Aspas 62)
Cristiano Ronaldo struck four goals to move into second spot on the list of the Spanish Liga’s all-time leading scorers as Zinédine Zidane’s charges closed to within a point of second-placed Atlético. Back after a calf injury, substitute Gareth Bale netted in his first outing since 17 January.
Cristiano Ronaldo scored four against Celta
Wolfsburg 2-1 Monchengladbach (Draxler 15, Kruse 17; Raffael 23)
Julian Draxler found the net for a second successive Bundesliga game as the Wolves, in seventh, recorded a third triumph in five league outings. Dieter Hecking’s side are now four points off the top four.
Krasnodar 0-0 Zenit
Zenit’s first league assignment in three months ended in stalemate, meaning they have won just one of their three fixtures in all competitions in 2016. André Villas-Boas’s side are six points behind joint leaders CSKA Moskva and Rostov.
Gent 1-1 Leuven ( 68; Trossard 52)
Hein Vanhaezebrouck’s men looked set for a shock defeat when Leandro Trossard gave the visitors the lead but Mbark Boussoufa’s second goal in four league games rescued a point.
Roma 4-1 Fiorentina (El Shaarawy 22, Salah 25 58, Perotti 38; Iličić 45+3pen)
Roma, third in Serie A, strode to their seventh straight league victory with a commanding display. Their first goal was arguably the pick, Stephan El Shaarawy scoring for the fifth time since joining on loan from Milan in January.
Valencia v Atlético (17.00)
Eibar v Barcelona (16.00)
Atalanta v Juventus (15.00)
All times CET