Barcelona missed the chance to move level on points with Sevilla, as they were held to a 1-1 draw by Getafe.
Sevilla slipped up on Saturday, but Barca failed to take full advantage and it could have been worse, as they slipped behind at Getafe.
A shocking defensive blunder from Rafael Marquez allowed Daniel Guiza to skip clear on 54 minutes to break the deadlock.
Barca needed some inspiration and Xavi provided a touch of magic on 70 minutes when curling home a superb free-kick.
Getafe will be thrilled to have taken a point, but the game ended on a sour note, as Francisco Ruana was dismissed late on for a dive.
Real Madrid made a disappointing start to 2007 as they were beaten 2-0 at Deportivo La Coruna.
Joan Capdevilla and Cristian scored the goals which downed a disappointing Real side.
Miguel Angel Angulo's goal 15 minutes from time handed Valencia a 1-0 win at Villarreal, a result which moves them to within seven points of Sevilla.
Jesus Vazquez scored the only goal of the game, as Recreativo Huelva reinforced their claims for a Uefa Cup place with three points at Espanyol.
Levante put distance between themselves and the drop zone with a fine win over Racing Santander.
Diego Camacho and Olivier Kapo scored in the second half to secure a welcome three points.
Rafael Sobis scored on the hour mark, as struggling Real Betis beat Celta Vigo 1-0.
On a fine day for the struggling sides, Athletic Bilbao claimed a 3-1 win at Mallorca.
Ismael Urzaiz scored twice to hand Bilbao a cushion. Juan Aranga reduced the lead eight minutes from time, but Joseba Etxeberria made the points safe with a late third.
Click below for match summaries:
Espanyol 0-1 Recreativo
Getafe 1-1 Barcelona
Levante 2-0 Racing Santander
Real Betis 1-0 Celta Vigo
Mallorca 1-3 Athletic Bilbao
Deportivo v Real Madrid
Villarreal v Valencia