Lionel Messi continued his goal-scoring exploits as Barcelona came from behind to beat Sevilla 2-1 at the Camp Nou, going 15 points clear in La Liga.
A sluggish first-half performance saw the runaway Liga leaders trail to Alberto Botia’s header, but Los Cules came out fighting in the second period as goals from Villa and Messi brought them victory.
The result sees Barca extend their lead over Atletico Madrid, who play Espanyol on Sunday, and crucially it is a confidence booster following the Champions League last 16 first leg loss to AC Milan, with a double Clasico in Copa and Liga coming up next week.
As usual Barcelona passed rings around Sevilla in the first half, but they failed to carve out too many opportunities as the visitors defended deep and gave the likes of Messi and Villa very little space.
Indeed the closest the hosts came in the first half was right at the start, when Andres Iniesta had an effort blocked after a mazy run from Messi.
Otherwise Messi was very quiet, barely able to get any time on the ball and weak with three free-kicks he put well off target.
Barca were almost predictable, content to pass it about with little probing attack play, so – while Sevilla were hardly an attacking force – it was not altogether surprising that they would take the lead.
The manner of their goal was equally unpredictable – a set piece that Barca, without Carlos Puyol at the back, look increasingly vulnerable to.
Ivan Rakitic’s delivery had been mis-hit, but it landed for Jesus Navas on the right, whose hanging cross was powered in by the towering leap of Botia.
Barcelona rightly changed things in the second half. The ineffectual Alexis Sanchez was replaced by the more direct Cristian Tello, and they mixed up their passing, with some quicker balls tossed into the mix.
One such ball – a fantastic right-wing cross from Daniel Alves – drew the hosts level, with Villa’s diagonal run giving him the freedom of the penalty area to pick his spot.
And Tello was the creator soon afterwards when Messi put Barca ahead with a cool finish from 12 yards, the Argentine’s 15th goal in 15 Liga matches.
Messi had suddenly clicked into gear, sending a couple of rasping efforts just off target and denied a tap-in by a fantastic intervention from Federico Fazio.
Sevilla tried to respond, bringing on Alvaro Negredo and taking the game to Barca, with Rakitic putting wide when he should have at least worked Victor Valdes.
Manu del Moral forced a smart stop from Valdes with a long range effort, while Negredo somehow lifted the ball over the bar after an excellent pass from the increasingly influential Rakitic sent him scuttling through.
Barca were still the more dangerous as a pair of Tello shots were deflected wide, while Messi put another long-range drive past the post.
They were back into their tiki taka groove too, using their ability to hold the ball at will to close out the latter stages, almost getting a third when Messi and Tello again put efforts just off target.
Barcelona now turn their attention to Tuesday’s Clasico Copa clash with Real Madrid, and the Liga repeat with their historic foes next Saturday. Sevilla, meanwhile, sit in the bottom half of the table and could slide as low as 13th dependent on results on Sunday.