Barcelona had to come from behind to seal a 2-1 win over Deportivo La Coruna on Sunday and keep up the pressure on leaders Real Madrid.
Cristian Hidalgo's glorious strike gave the visitors a shock lead after just three minutes and Barca needed a Ronaldinho penalty to level things up five minutes before the break.
Xavi claimed the winner for Frank Rijkaard's side, for whom Samuel Eto'o was back after three months out with a thigh injury.
Second-placed Barca are four points behind Real, who won 1-0 at Athletic Bilbao on Saturday.
Atletico Madrid are one point back after beating Getafe 1-0 in an eventful Madrid derby.
Diego Forlan scored the only goal of the game in the first half while referee Carlos Clos Gomez got into the Christmas spirit early, handing out 15 cards, four of them red, as both sides finished with nine men.
That win lifted Atletico above Villarreal, who suffered a surprise 1-0 defeat at home to struggling Real Betis.
It was a perfect start for coach Francisco Chaparro, who saw Jesus Capi score the only goal of the game in the first game of his latest stint in charge of the club.
Brazilian striker Ricardo Oliveira scored twice in the last five minutes to snatch a dramatic 3-3 draw for struggling Real Zaragoza at home to high-flying Espanyol.
The home side took an early lead through Diego Milito, but were quickly pegged back when Espanyol captain Raul Tamudo levelled the scores with less then eight minutes on the clock.
Valdo and Pablo Zabaleta then added two more in the space of six minutes as the visitors went 3-1 up within a quarter of an hour.
Zaragoza's attempts to get back into the game were hampered when French midfielder Peter Luccin was sent-off for a second bookable offence shortly after half-time.
But the home side rallied late on and sealed a dramatic point thanks to substitute Ricardo Oliveira, who netted in the 85th and 89th minutes.
Sevilla put their recent travails behind them to dispatch Murcia 3-1 at the Estadio Ramon Sanchez Pizjuan.
The UEFA Cup holders had managed just one point from their previous four games put took a two-goal lead through an early Luis Fabiano strike and Enzo Maresca's penalty.
Fernando Baiano pulled one back with half an hour to play, but Luis Fabiano sealed the three points in the closing seconds.
Pierre Webo put Mallorca 1-0 up at Racing Santander but the hosts stormed back to win 3-1 through goals from Jorge Lopez, Aldo Duscher and Pedro Munitis.
Both sides had a player sent off - Webo for Mallorca and Rodrigo Serrano for Racing.
Goals from Javier Camunas and Jesus Vazquez gave Recreativo Huelva a 2-0 win at basement boys Levante, while Alvaro Negredo scored the only goal as Almeria beat Valladolid, who had Jose Antonio Garcia Calvo sent off.
Saturday's other game saw Osasuna and Valencia play out a goalless draw.
Xavi claimed the winner for Frank Rijkaard's side, for whom Samuel Eto'o was back after three months out with a thigh injury.
Second-placed Barca are four points behind Real, who won 1-0 at Athletic Bilbao on Saturday.
Atletico Madrid are one point back after beating Getafe 1-0 in an eventful Madrid derby.
Diego Forlan scored the only goal of the game in the first half while referee Carlos Clos Gomez got into the Christmas spirit early, handing out 15 cards, four of them red, as both sides finished with nine men.
That win lifted Atletico above Villarreal, who suffered a surprise 1-0 defeat at home to struggling Real Betis.
It was a perfect start for coach Francisco Chaparro, who saw Jesus Capi score the only goal of the game in the first game of his latest stint in charge of the club.
Brazilian striker Ricardo Oliveira scored twice in the last five minutes to snatch a dramatic 3-3 draw for struggling Real Zaragoza at home to high-flying Espanyol.
The home side took an early lead through Diego Milito, but were quickly pegged back when Espanyol captain Raul Tamudo levelled the scores with less then eight minutes on the clock.
Valdo and Pablo Zabaleta then added two more in the space of six minutes as the visitors went 3-1 up within a quarter of an hour.
Zaragoza's attempts to get back into the game were hampered when French midfielder Peter Luccin was sent-off for a second bookable offence shortly after half-time.
But the home side rallied late on and sealed a dramatic point thanks to substitute Ricardo Oliveira, who netted in the 85th and 89th minutes.
Sevilla put their recent travails behind them to dispatch Murcia 3-1 at the Estadio Ramon Sanchez Pizjuan.
The UEFA Cup holders had managed just one point from their previous four games put took a two-goal lead through an early Luis Fabiano strike and Enzo Maresca's penalty.
Fernando Baiano pulled one back with half an hour to play, but Luis Fabiano sealed the three points in the closing seconds.
Pierre Webo put Mallorca 1-0 up at Racing Santander but the hosts stormed back to win 3-1 through goals from Jorge Lopez, Aldo Duscher and Pedro Munitis.
Both sides had a player sent off - Webo for Mallorca and Rodrigo Serrano for Racing.
Goals from Javier Camunas and Jesus Vazquez gave Recreativo Huelva a 2-0 win at basement boys Levante, while Alvaro Negredo scored the only goal as Almeria beat Valladolid, who had Jose Antonio Garcia Calvo sent off.
Saturday's other game saw Osasuna and Valencia play out a goalless draw.
Copyright (c) Press Association
Related Articles

Pique dismisses the doubters

Aussie teen snapped up by Valencia
