After a lacklustre start at the Riazor, Barca made the breakthrough in the 26th minute when Javier Mascherano found Lionel Messi on the right and he in turn played in David Villa.

Villa looked to have missed his opportunity before managing to poke the ball through the legs of goalkeeper Daniel Aranzubia.

Messi made it two seven minutes into the second half when he curled home a free-kick having been cynically fouled by Ruben Perez. Iniesta added the gloss with a classy, placed shot with his left foot.

It was a rout when Messi played in the prolific Pedro for a nicely-chipped fourth. The win puts Barca five points clear of Real Madrid, who play Villarreal tomorrow.

Frederic Kanoute struck a brace as Sevilla twice battled back from a losing position to defeat Real Sociedad 3-2 and continue their recent revival.

Sociedad took the lead through Diego Rivas and, although Kanoute drew Sevilla level almost immediately, the home side restored their advantage just before half-time when Joseba Llorente netted.

The 62nd-minute introduction of Alvaro Negredo proved an inspired one by Sevilla coach Gregorio Manzano though, as within three minutes of his arrival the Spain international not only helped set up an equaliser for Luis Fabiano but also did likewise for Kanoute's winner.

The victory means Sevilla have now won four successive league and cup matches, having previously lost six of seven games while drawing the other.

A Javi Martinez header deep into added time gave Athletic Bilbao a dramatic 1-1 draw away to Malaga.

Martin Demichelis headed the hosts in front 10 minutes from time from a corner and that looked to be enough to give Malaga all three points.

But the Argentina defender fouled Fernando Llorente two minutes into added time to hand Athletic one more chance to take something from the game.

Goalkeeper Gorka Iraizoz went forward in a desperate attempt to grab a late leveller, but it was Martinez who rose to meet Igor Gabilondo's delivery and smash a powerful header past Sergio Asenjo.