Nikola Zigic put the Cantabrians ahead from the penalty spot early in the second half but Pep Guardiola turned to Messi in his moment of need and the Argentina forward turned the game on its head with two well-taken goals.

However, the late dismissals of Rafael Marquez and Gerard Pique did take some of the gloss off the result after both players were given their marching orders for second bookable offences in the closing stages.

The win restores Barca's 12-point lead over Real Madrid after the champions' 2-0 win at Numancia yesterday.

Sporting Gijon overcame an early sending-off to beat Sevilla 1-0.

After Mate Bilic had a sixth-minute penalty saved by Andres Palop, the minnows went ahead through Diego Castro's 17th-minute header.

Roberto Canella was dismissed shortly before the half-hour mark for an incident involving Diego Capel but the home side held on for a well-earned win.

Valencia overcame their midweek Copa del Rey disappointment with an entertaining 3-2 victory over Almeria at the Mestalla.

An early strike from Joaquin and two goals from David Villa proved enough to see off the resurgent Andalusians, for whom striker Alvaro Negredo replied twice.

Deportivo La Coruna ended miserable run of five straight defeats with a resounding 3-0 victory over misfiring Villarreal at the Riazor.

Angel Lafita scored twice and Riki the other for the Galicians. Marcos Senna compounded the visitors' misery by missing a penalty late on.

Atletico Madrid remain without a Primera Liga victory in 2009 after slumping to a 2-1 home defeat at the hands of Real Valladolid this afternoon.

Luis Prieto put the visitors ahead six minutes into the second half and substitute Victor Fernandez converted a penalty 11 minutes from time to seal the win after a Jose Antonio Garcia Calvo own goal had levelled matters.

At the bottom Osasuna narrowly edged a thrilling match against Real Mallorca, who had two men sent off as they replaced their opponents at the foot of the Primera Liga table. Walter Pandiani's early goal proved enough to win it for the Navarran side.

Espanyol were denied a vital home win in dramatic fashion as Recreativo Huelva equalised in the last minute from the penalty spot.

Nicolas Pareja's 62nd-minute header had looked set to give the home side all three points.

But the visitors were awarded a penalty in the dying seconds when Marco Ruben was brought down as he attempted to round goalkeeper Carlos Kameni.

Kameni received a straight red card before Ruben himself stepped up to score from the spot.

Ten-man Real Betis held on for a point against Getafe, who fought back from two goals down in a thriller at Estadio Manuel Ruiz de Lopera.

The hosts appeared to be cruising to victory as goals from Juanma and Mark Gonzalez had them 2-0 up inside 10 minutes, but the dismissal of Juande 12 minutes from the break rocked Betis on their heels.

Getafe roared back through two Ikechukwu Uche goals before Roberto Soldado threw away the chance to snatch all the points for the visitors when his penalty was saved by Betis goalkeeper Ricardo, who was in superb form throughout.

Yesterday Athletic Bilbao won 3-2 at home to Malaga.