A late goal from an unlikely hero in debutant Sandro Ramírez gave Barcelona all three points against Villarreal, in a very tight game in which could so easily have gone to the hosts.
The match was littered with chances for both teams, but it only took one lapse of concentration to allow Barcelona to snatch an all important win to keep their 100 percent record in La Liga intact.
It was always going to be a tight affair, with the fixture evoking memories of Barcelona’s thrilling 3-2 win at El Madrigal in February – but without the goals.
Pique, who was dropped for the Spain squad through, injury made an appearance, as Luis Enrique named largely the same side that dismantled Eibar, with the exception of the injured Iniesta and the suspended Javier Mascherano. Munir El Haddadi made his second La Liga start after impressing with a goal last week, with Neymar starting from the bench.
Marcelino made six changes from the side that thrashed FK Astana 4-0 in the Europa League, bringing back familiar faces such as Cani, Bruno and Giovani dos Santos.
Lionel Messi and Pedro had early sights of goal, with both efforts requiring the gloves of Sergio Asenjo to keep them out.
Dos Santos whipped in a cross which evaded every Barcelona player in the box and found Victor Ruiz at the far post, who produced the finish of a centre-half and shanked the ball over Claudio Bravo’s goal with his knee.
The visitors perhaps should have been awarded a penalty, as Mario Gaspar stuck a languid leg out and brought down and Pedro, but the winger’s theatrics convinced referee Carlos Velasco Carballo otherwise.
Then came Barcelona’s best chance of the half. From an unlikely angle, Messi took aim at Asenjo’s goal from a free kick, and would’ve found it, had the free-kick not taken a deflection off Trigueros and into the path of the 'keeper who tipped the ball onto the post.
Everything good about Barcelona throughout the first half came through Messi, and if they were to get a goal, he was likely to be involved. Villarreal responded in the second half and adopted a narrow shape, forcing their opponents wide, where they were at their least dangerous.
At the other end, Jeremy Mathieu almost put the ball into his own net, as he attempted to clear Jaume Costa’s cross and stuck his own post. Barcelona but a number of eye-pleasing moves together, but couldn’t put the finishing touches on any of the half-chances they created, with often a Villarreal body in way.
An hour had passed, with neither side on the score sheet, so both managers responded with options from the bench. Neymar made an appearance, as his quest for full fitness continues, while Marcelino called upon Luciano Vietto, who scored twice in midweek.
Messi’s second free-kick of the match was equally impressive and required a firm hand from Asenjo to tip it wide. From the resulting corner, the Argentine, unmarked, leapt highest but was unable to direct his header.
In a crazy few minutes, Barcelona passed up their best chance to date. Alves found Messi in the box with a through ball, and the striker squared the ball to substitute Neymar. With most of the goal at his mercy, the Brazilian lacked the composure to dink the ball over Victor Ruiz, instead smashing the ball at the prostrate defender sprawled out on the line.
As the game opened up, Villarreal had a chance of their own as the ball fell to Pina after heavy pressure, but the midfielder’s effort from the edge of the box once again struck Bravo’s post.
Messi did the same five minutes later, as his deflected right foot shot hit the upright for the second time in the match.
Had the game ended there, it would’ve gone down as a thoroughly entertaining goalless draw, if there is such a thing. But ten minutes from time, Barcelona found what proved to be the winner.
Messi ran onto Neymar’s forward pass and squared the ball through goalkeeper Asenjo’s legs to substitute Sandro Ramírez, who had no problem poking the ball into an open net and grabbing his first senior Barcelona goal.
Villarreal knew they had done enough to at least earn a draw, and would’ve gained one, had Dos Santos' effort not smacked the post for the third time. Villarreal dutifully attacked with gusto, but were unfortunate in defeat.
Goals: Sandro Ramírez (BAR)
Bookings: Dani Alves (BAR), Pedro (BAR)
Barcelona: Bravo, Dani Alves, Pique, Mathieu, Jordi Alba, Sergio Busquets, Rakitic, Rafinha Alcantara (Xavi), Pedro (Sandro Ramírez), Munir (Neymar), Messi
Villarreal: Asenjo, Mario Gaspar, Musacchio, Victor Ruiz, Juame Costa (Gabriel Paulista), Pina, Bruno, Trigueros, Cani (Javier Espinosa), Cheryshev (Luciano Vietto), Giovani Dos Santos