MADRID, Jan 28 (Reuters) - Barcelona held on to top spot in the Primera Liga with a 3-1 victory over misfiring Celta Vigo at the Nou Camp on Sunday.
In-form striker Javier Saviola headed Barca in front in the first half but Celta levelled from the penalty spot through Nene in the 67th minute.
Ronaldinho restored the home side's lead with a disputed penalty soon after and substitute Ludovic Giuly scored a breakaway goal at the end to seal the victory.
Barcelona have 42 points, one ahead of second-placed Sevilla who earlier beat Levante 4-2 for their first win of 2007.
The UEFA Cup holders were set on their way by Frederic Kanoute, who finished off a swift break in the first half, before Alexander Kerzhakov doubled the lead early in the second.
Levante's Damiano Tommasi scored an own-goal to put Sevilla 3-0 ahead in the 66th minute but the game was far from over as the home side fought back.
An Ian Harte corner was glanced in by Frederic Dehu in the 68th and soon after Harte's free kick was headed home by Gustavo Reggi before the excellent Alejandro Alfaro wrapped up the win for the visitors with a late header.
Real Madrid are third with 38 points after losing 1-0 at Villarreal on Saturday. Fourth-placed Valencia remain on 36 after they fell 2-1 at Real Betis to two goals from Brazilian striker Robert.
Atletico Madrid are fifth, also on 36, after being held to a 1-1 draw at home to Racing Santander on Saturday.
Elsewhere on Sunday, bottom club Gimnastic stunned visiting Catalan rivals Espanyol 4-0 and Athletic Bilbao won the Basque derby 2-0 at Real Sociedad.
Barcelona looked something closer to the side who have won back-to-back titles as they dominated the first half against Celta with a high tempo and incisiveness missing in recent games.
Xavi, Andres Iniesta and Deco ran the midfield, while Argentine Saviola was preferred to Eidur Gudjohnsen in attack again.
Celta resisted until the 34th minute when Dutchman Giovanni van Bronckhorst broke down the left and crossed for an unmarked Saviola to score with a header from a central position.
But the European and Spanish champions eased off after the break and lost the lead when Van Bronckhorst brought down Angel for a penalty in the 67th minute. Brazilian striker Nene sent Victor Valdes the wrong way from the spot.
Saviola had missed two great chances when a slice of luck helped put Barca back in front again in the 78th minute.
Celta defender Sebastian Tamas tripped Van Bronckhorst as he broke into the area and the referee gave a penalty, though television replays showed the incident happened just outside. Ronaldinho's spot kick left Pinto with no chance.
Barca lived dangerously before Giuly sprinted clear on to Deco's pass to fire through the keeper's legs with four minutes left. Celta finished with 10 men after defender Matias Lequi was sent off.