Barcelona had lost 3-1 to Real Betis in their midweek Kings Cup match although they reached the semifinals 6-3 on aggregate – but got off to the perfect start with Spanish winger Pedro netting his 11th league goal after just 90 seconds on Saturday.
Barcelona then coasted to their 14th consecutive league win and maintained their flawless away record with a ninth win on the road.
Barca went ahead after just 90 seconds against Racing with Messi playing a wall pass with Villa before chipping goalwards for Pedro to chest the ball in from close range.
It was a nightmare start for Racing but the visitors almost equalised with Markus Rosenberg forcing a diving save from Victor Valdes on the quarter hour mark.
Villa, Adriano and captain Carles Puyol all missed good chances before Villa won a penalty on 33 minutes by tricking Brazilian defender Henrique, who is on loan at Racing from Barcelona, with some quick footwork.
Messi converted the spot-kick for his 19th league goal of the season as Barca went in 2-0 at the interval.
The hosts scored again on 56 minutes with Spain star Iniesta watching his deflected shot swerve in.
Valencia moved a point above Villarreal into third with a 90th minute winner from Aritz Aduriz clinching a thrilling 4-3 win over nine-man Malaga.
Former Real Madrid man Julio Baptista thought he had helped Malaga secure a point when he made it 3-3 with his first goal for the club on 79 minutes, but Aduriz struck in stoppage time to break their hearts.
Brazilian international forward Luis Fabiano scored a hat-trick as Sevilla cruised to a 4-1 home win over Levante to boost their hopes of a top-four finish and bolster confidence ahead of Wednesday’s Kings Cup semifinal against Real Madrid. It capped a fine week for Sevilla, who defeated Villarreal in midweek to reach the semifinals of the Kings Cup.
Fabiano headed the opener on 27 minutes after a cross from Spanish international winger Jesus Navas, back from injury, before Julien Escude headed in a corner in the 38th minute.-SAPA