Atletico Madrid stayed in control of La Liga's title race by beating struggling Huesca 2-0 at home with goals in each half by Angel Correa and Yannick Carrasco.
Correa scored for the third time in two games to give Atletico the lead shortly before half-time, the Argentine dancing through the Huesca defence and getting the help of a deflection to take his shot into the net.
Huesca had won two of their last three matches and stayed in the game, even having a couple of chances to level, until Marcos Llorente pounced on a loose ball and squared for Carrasco to knock it into the empty net 10 minutes from time.
Atletico top the standings on 73 points after 32 games, moving three clear of Real Madrid who beat Cadiz 3-0 on Wednesday. Huesca are 18th on 27 points.
Lionel Messi scored twice as Barcelona crushed Getafe 5-2 to stay in the hunt for the La Liga title.
Messi gave Barca an early lead with the help of a pin-point pass from Sergio Busquets but Getafe pulled level with an own goal by Clement Lenglet.
The visitors then conceded a calamitous own goal when Sofian Chakla's backpass deceived 'keeper David Soria and trickled over the line.
Messi extended Barca's lead before half-time to move on to 25 La Liga goals this season but the Catalans slowed down in the second half and Turkish forward Enes Unal made for an interesting finish by converting a penalty in the 69th minute following a VAR review for a foul by Ronald Araujo.
The Uruguayan defender made amends by heading in Messi's corner in the 87th minute to extend Barca's lead and Antoine Griezmann slammed in a penalty in added time after being handed the ball by Messi.
The win took Barca back up to third place on 68 points, five behind leaders Atletico Madrid but with a game in hand.
Real Sociedad ended a run of five league games without a win with a 2-1 success over Celta Vigo, while Granada beat bottom club Eibar 4-1.
Serie A - Atalanta held by Roma
Atalanta missed the chance to go second in Serie A as Roma fought back to earn a 1-1 draw against the 10-man visitors at the Stadio Olimpico.
Gian Piero Gasperinis side went in front through Ruslan Malinovskyi in the first half and threatened a second as Roma goalkeeper Pau Lopez produced several good saves and Luis Muriel fired wide with the goal gaping.
The match swung in the host's favour when Robin Gosens was shown a second yellow card with 20 minutes remaining, and former Atalanta player Bryan Cristante drew Roma level with a thunderous long-range strike in the 75th minute.
Roma were frustrated in their efforts to find a late winner and had Roger Ibanez sent off moments before the final whistle, after the defender picked up two bookings in two minutes.
Atalanta are third in the standings on 65 points, one behind AC Milan in second. Roma remained seventh with 55 points.
Napoli won a 5-2 thriller against top-four rivals Lazio to stay within touching distance of the Champions League places.
Lorenzo Insigne's penalty and a Matteo Politano strike gave the hosts a two-goal lead at the break, before Insigne netted his second and Dries Mertens struck to put the result beyond doubt.
Mertens' superb finish, a powerful shot into the top corner from the edge of the box, made him Napoli's joint-top scorer of all time in Serie A with 102 league goals, alongside Antonio Vojak.
Lazio mustered a response as Ciro Immobile and Sergej Milinkovic-Savic scored in the space of three minutes, but any hopes of a comeback ended when Napoli substitute Victor Osimhen powered home his sides fifth in the 80th minute.
Napoli are fifth on 63 points, two behind Juventus and Atalanta. Lazio are sixth with 58 points, although they have a game in hand.