Alexis Sanchez scored a second-half goal as Barcelona and Lionel Messi struggled past Espanyol 1-0 Friday to remain top of the Spanish league.

Neymar drew two defenders before guiding a pass through both pairs of legs across goal for Sanchez to tap in at the far post for the easy 68th-minute winner.

Barcelona opened up a four-point advantage over Atletico Madrid, which plays Athletic Bilbao on Sunday, and a nine-point lead on Real Madrid. Madrid faces Rayo Vallecano on Saturday.

Messi is coming off one of his worst months of football, having not scored in the league since September.

The Argentina international, who has been troubled by an injury, lacked rhythm and made uncharacteristic turnovers at the Camp Nou Stadium to start November goalless.

Barcelona next plays against AC Milan in the Champions League on Wednesday. Messi did score at Milan nearly two weeks ago.

While Barcelona laboured to another victory, it maintained its impressive start under new coach Gerardo Martino who has led the team to 34 of a possible 36 points.

Messi frustrated

Messi missed time with a right leg injury and by the end of the match he looked like he was either frustrated or feeling the effects of not being 100 per cent fit.

Barcelona dominated possession and controlled the tempo from the start with Espanyol goalkeeper Francisco Casilla diving to make a save from Sanchez early on, with the Chilean enjoying some of the hosts' best opportunities throughout.

Espanyol needed over half an hour to register its first shot on goal, and it was nearly ahead in the 36th but Victor Valdes got a leg to Victor Sanchez's low shot following a smart run onto Thievy Bifouma's clever touch.

Andres Iniesta forced a save from Casilla with Dani Alves hitting the post in the ensuing scramble as Barcelona nearly went ahead just before halftime.

Casilla was in top form as he got a hand to Messi's well-guided header in the 54th. Messi then had two opportunities from free kicks but never came closer to scoring his first league goal since Sept. 28.

Neymar nearly found the net moments before setting up Sanchez, and appealed for a foul when Casilla put him to the ground outside the area in the 76th with the empty net beckoning.

Espanyol should have tested Valdes in the 85th but Manuel Lanzarote showed poor finishing as he weakly headed over goal.