Sandro had replaced the ineffective Pedro Rodriguez for the final 20 minutes as Barca looked set for a frustrating evening as Villarreal keeper Sergio Asenjo kept them at bay.

However, after Asenjo had again done well to keep out Lionel Messi's low drive, Sandro was left with the simplest of finishes from close range.

Enrique had handed another start to 18-year-old Munir El Haddadi as Neymar was only fit enough for a place on the bench, while Rafinha was preferred to Xavi Hernandez in the absence of the injured Andres Iniesta.

Barca completely dominated possession in the opening 45 minutes, but failed to create clear-cut chances as Asenjo parried a drive from Pedro before turning a deflected Messi free-kick onto the post.

Villarreal's best opening of the first 45 minutes came when Victor Ruiz bundled the ball over the bar when completely unmarked at the back post.

However, they were nearly gifted the lead at the start of the second period as Barca defender Jeremy Mathieu turned Jaume Costa's cross off the outside of his own post.

Barca then upped the pace after Neymar replaced Munir and Asenjo had to be at his best again to turn away another well-struck Messi free-kick.

Ruiz then made amends for his miss in the first-half with a miraculous block on the line to prevent Neymar smashing home Messi's low cross.

Yet, for all their chances, Barca were inches from being behind moments later when Tomas Pina struck the inside of the post and Javier Espinosa fired the rebound inches wide.

The visitors did finally make the breakthrough eight minutes from time when more fine footwork from Messi provoked another save from Asenjo, but Sandro was on hand to force the ball home from close range.

There was still time for a final scare for Barca as Giovanni dos Santos smashed a volley off the post from a narrow angle, but Enrique's men held on to go top of the embryonic La Liga table.