Real Madrid and Juventus now stand four points clear of their respective rivals with a game in hand after a weekend in which Monaco frustrated Paris Saint-Germain with a late leveller.
Article top media content
Vitória Setúbal 1-0 Benfica (Zé Manuel 21)
The Eagles suffered their second defeat in five days as their lead at the Portuguese Liga summit was cut to one point. The damage was done by Zé Manuel, a striker on loan from Porto, while at the other end Benfica failed to score for the first time in 42 outings.
Real Madrid 3-0 Real Sociedad (Kovačić 38, Ronaldo 51, Morata 82)
Madrid capped a fine weekend with a comfortable win to move four points clear of their pursuers with a game in hand. Cristiano Ronaldo set up Mateo Kovačić for his maiden Liga goal and then hit the second himself – his 13th in the top flight this term – lifting the ball over Gerónimo Rulli. Álvaro Morata rounded off the victory after Real Sociedad lost Iñigo Martínez to a red card.
Paris Saint-Germain 1-1 Monaco (Cavani 81pen; Bernardo Silva 90+2)
Bernardo Silva slotted in a dramatic last-gasp equaliser to move Monaco back on top of Ligue 1 on goal difference – and prevent Paris from leapfrogging them in the title race. The hosts had appeared set for a seventh consecutive triumph in all competitions after Edinson Cavani buried a late penalty, but they allowed their rivals to pounce in added time, having also lost goalkeeper Kevin Trapp to a suspected thigh injury.
Sassuolo 0-2 Juventus (Higuaín 9, Khedira 25)
Gonzalo Higuaín scored in Serie A for the sixth game in a row – the first Juventus player to do so since David Trezeguet in 2005 – as Massimiliano Allegri's side extended their lead at the top to four points. The Bianconeri have now gone a record 33 consecutive games without recording a draw in the top flight.
Real Betis 1-1 Barcelona (Álex 75; Luis Suárez 90)
Luis Enrique's side missed the chance to go first temporarily in Spain as Liga top scorer Luis Suárez salvaged a last-gasp draw in Seville. The visitors fell behind to Alexander 'Álex' Alegría Moreno's strike 15 minutes from time before Suárez struck his sixth goal in as many games to move Barcelona up to second in the table.
Espanyol 3-1 Sevilla (Reyes 4pen, Navarro 45+2, Moreno 71; Jovetić 20)
Like Barcelona, Sevilla spurned the opportunity to move top ahead of Real Madrid's late fixture, losing further ground after a nightmarish start. Nicolás Pareja was dismissed with just two minutes gone for bringing down Pablo Piatti and former Sevilla forward José Antonio Reyes did the rest from the spot, the ten-man visitors eventually succumbing 3-1.
Napoli 1-1 Palermo (Mertens 66; Nestorovski 6)
Third-placed Napoli's five-game winning run in all competitions came to an end as the Partenopei were held at home by lowly Palermo. Dries Mertens secured a point with his 11th goal in nine games, but Maurizio Sarri's men now trail Juventus by six points, having played one match more.
Mainz 1-1 Borussia Dortmund (Latza 83; Reus 3)
Dortmund played out their fifth draw in six outings in all competitions despite Marco Reus's early opener. Pegged back late on, BVB now find themselves 14 points off Bundesliga pacesetters Bayern München in fourth.
Alavés 0-0 Atlético Madrid
Atlético drew for the third consecutive game away to their fellow Copa del Rey semi-finalists. Jose María Giménez, on target in the Rojiblancos's midweek cup match against Eibar, was substituted ten minutes into the second half with a right thigh injury.
Bayer Leverkusen 2-3 Borussia Mönchengladbach (Tah 31, Hernández 34; Stindl 52 58, Raffael 71)
Mid-table Leverkusen squandered a two-goal lead in this thrilling Rhine derby against a team that had won just one of its previous 12 matches.
Crystal Palace 0-3 Manchester City (Sterling 43, Sané 71, Touré 90)
Leroy Sané made it three goals in his last three appearances as City advanced to the fifth round of the FA Cup. Gabriel Jesus, making his first start for the Citizens, nearly doubled the lead himself soon after Raheem Sterling's opener in south London. Yaya Touré sealed a comfortable victory with a fine free-kick.
Estoril 1-2 Porto (Dankler 90+3; André Silva 82pen, Corona 90+1)
Porto claimed all three points from a fixture that exploded into life in the final ten minutes. The Dragons' third Liga win in a row means they consolidate second place in the table behind Benfica.
Southampton 0-5 Arsenal (Welbeck 15 22, Walcott 35 69 84)
Theo Walcott scored a hat-trick against the club for whom he made his senior debut as a 16-year-old in 2005. Danny Welbeck, on his first start since last May after recovering from a knee injury, set Arsenal up for an emphatic triumph in this FA Cup fourth round tie with two goals before the midway point of the first half.
Werder Bremen 1-2 Bayern München (Kruse 53; Robben 30, Alaba 45+1)
David Alaba stylishly ended his wait for his first Bundesliga goal of the season, curling a free-kick past Felix Wiedwald on the cusp of half-time. It ultimately proved decisive in securing Bayern's eighth successive win since their surprise loss to Rostov on UEFA Champions League matchday five.
Derby County 2-2 Leicester City (Bent 21, Bryson 40; Bent og 8, Morgan 87)
A late header from captain Wes Morgan kept Leicester in the FA Cup as they salvaged a fourth-round draw away to Midlands rivals Derby. Claudio Ranieri's side, who face a replay on 8 February, have prevailed in just two of their 16 away games in all competitions this term.