Barcelona remain eight points clear in La Liga after coming from a goal down to beat bottom side Almeria 3-1 on Saturday.Visitors Almeria took a surprise lead in the 50th minute after a goalless first half at the Camp Nou.

Diminutive Argentine forward Pablo Piatti found space on the right flank and was able to set up Miguel Angel Corona, with the attacking midfielder beating Barca reserve goalkeeper Jose Pinto to make it 1-0.

But the lead lasted just three minutes before Almeria goalkeeper Diego Alves brought down David Villa in the box.

Lionel Messi converted the resulting penalty to draw Barca level.

Argentina forward Messi was again involved as Barca took the lead just over 10 minutes later.

His corner found the head of Thiago Alcantara and the teenage midfielder beat Alves to put the home side 2-1 up.

It was Messi who completed the scoring, benefiting from centre-back Marcelo Silva's error to make it 3-1 in added time.

Earlier, Real Madrid came away from their trip to Estadio San Mames with all three points following a 3-0 win over Athletic Bilbao.

Real took the lead 14 minutes into the match when Athletic goalkeeper Gorka Iraizoz brought down Argentina midfielder Angel di Maria inside the penalty area and Kaka converted the penalty.

The visitors were 2-0 up in the 54th minute, with Brazil international Kaka again scoring from the spot after Xabier Castillo brought down di Maria in the box.

Cristiano Ronaldo came off the bench to add a third in the 70th minute.

With both of the top two winning, second-placed Real stay eight points back from league leaders Barca.

They teams are set to meet at the Santiago Bernabeu next Saturday.

In the late kick-off, Sevilla twice came from behind to draw 2-2 away to Mallorca.

First Alvaro Negredo equalised from the penalty spot after Akihiro Ienaga gave hosts Mallorca the lead at Estadio Son Moix.

Jonathan De Guzman restored Mallorca's lead four minutes before the break, but Ivan Rakitic levelled again for the visitors on 67 minutes.

The draw leaves Sevilla fifth on 46 points, with Mallorca seven points back in ninth place.