After being sunk by Inter Milan on Wednesday night, the Catalans faced a stern challenge to their domestic ambitions against a Villarreal side that had won their past six matches at El Madrigal.

But Pep Guardiola's side quickly extinguished the threat with three first-half goals from Lionel Messi, Xavi and Bojan Krkic to ensure a more comfortable evening than could have been expected.

Villarreal did manage to pull a goal back after the break through half-time substitute Joseba Llorente, but Barca were never stretched and Messi added his second two minutes from the end.

Substitute Nikola Zigic struck a brace to seal a first away victory for third-placed Valencia since early January following a 2-0 success at Espanyol.

Zigic replaced the surprisingly ineffective David Villa on 59 minutes and had an instant impact, firing the visitors in front just two minutes later.

And after seeing a header incorrectly ruled out for offside, the Serbia striker drilled home a second after 73 minutes to see of a disappointing Espanyol side.

Relegation-battling Real Zaragoza took advantage of Deportivo La Coruna's miserable run to claim a priceless 1-0 victory.

Adrian Colunga, one of seven January signings that have made such a difference to Zaragoza, netted the only goal of the game just after half-time as Jose Aurelio Gay's side ended a four-match winless streak with a triumph that could not have been more timely.

With third-bottom Tenerife winning 2-1 on Saturday, Zaragoza would have fallen into the relegation zone with a defeat, but as it is they remain two points clear with three games to go.

Tenerife produced a dominant display to boost their survival hopes and keep Racing Santander right in the thick of the battle.

The hosts were rampant from first whistle to last and only a string of magnificent saves from Racing keeper Fabio Coltorti prevented them from running away with the game.

But as luck would have it, Coltorti proved to be the villain as his foul on Alejandro Alfaro allowed Ayoze Garcia to slot home the penalty which ultimately settled the match.

It was harsh on Coltorti, who had performed heroics either side of Roman Martinez's opener to allow substitute Xisco to give the visitors hope with a second-half strike.

Substitute Felipe Caicedo struck a late equaliser against Sporting Gijon to help keep Malaga out of the relegation zone by the skin of their teeth following a 1-1 draw.

Malaga looked to be heading for a damaging defeat as they still trailed to Antonio Apono's first-half own goal with 10 minutes remaining.

However, Caicedo, the on-loan Manchester City striker who had replaced Apono in the 67th minute, flicked the ball in following a Sergio Duda corner to draw the Andalusian side level and claim what could be a crucial point.

Real Valladolid saw their hopes of Primera Division survival suffer a blow as they failed to beat 10-man Getafe.

Valladolid had the better of a dull encounter and looked the more likely of the two sides to claim all three points, particularly after Getafe defender David Cortes was sent off with 33 minutes still remaining.

But the Castilians were unable to break down their rivals in a game both sides will have been desperate to win to bost their respective end-of-season aspirations.

Xerez's attempt to stave off relegation continued with a last-gasp 2-1 defeat of Almeria.

Juanma Ortiz's own goal gave the hosts a first-half lead, only for Fernando Soriano to level the scores within five minutes.

Mario Bermejo's goal in the fourth minute of injury-time won it for Xerez, after both teams had seen a player dismissed.