The 2-1 win for Barcelona came hours after third-placed Real Madrid could only manage a 2-2 draw with Osasuna in Pamplona on Saturday.
It was a performance illuminated by the excellence of Neymar whose name home supporters chanted towards the end of the fixture, as the Brazilian stepped up to the task of leading the attack in Lionel Messi’s continued absence through injury.
Neymar converted a 30th-minute penalty for Barcelona’s opening goal after Mario Gaspar handled the ball, only for the visitors to equalise through Mateo Musacchio’s fierce header three minutes after the break.
Barcelona found Villarreal’s defence obdurate but broke it down in the 68th minute when Neymar fired home a simple goal after good work from Cesc Fabregas and Alexis Sanchez.
Neymar went in hunt of a hat-trick but settled for the match-winning double that gave Barcelona a three-point lead over Atletico Madrid, who have a Sunday night assignment against Valencia, and also a five-point cushion over Real Madrid.