Neymar scored twice on Saturday to help Barcelona beat Villarreal 2-1 and take advantage of Real Madrid's slip as they opened a five-point lead over their fierce rival at the top of La Liga.
Barcelona, still without the injured Lionel Messi, again turned to Neymar after his hat trick against Celtic in the Champions League on Wednesday.
Neymar converted a penalty after Mario Gaspar had handled the ball, only for the visitors to equalise through Mateo Musacchio's fierce header three minutes after the break.
Barcelona were finding Villarreal's defence obdurate but they eventually found their way through in the 68th minute when Neymar fired home a simple goal. Cesc Fabregas dinked a ball into the penalty area and over the defence which found Alexis Sanchez, who had broken the offside trap. He cushioned the ball to Neymar who had the simple task of firing home.
Neymar then went close to claiming a third goal when pace took him beyond the defence, and although the angle was acute he forced Asenjo to block with his feet.
Barcelona's eighth win in as many league games at Camp Nou provisionally lifted them three points clear of Atletico Madrid before they host Valencia on Sunday.
Ten-man Real Madrid fought back to draw 2-2 at 10-man Osasuna but allowed their title rivals to widen the gap at the top of the standings.
• Train: Real tripped up
Osasuna's Oriol Riera headed in goals in the 16th and 39th minutes before Madrid's woes deepened when Sergio Ramos received his second yellow card in the 44th minute.
With Cristiano Ronaldo unable to extend his eight-game scoring run for club and country, Isco pulled one back before halftime and passed for Pepe to head home the 80th-minute equalizer seconds after Osasuna's Francisco Silva also earned his second booking.
Osasuna had appeared set for victory after a placid second half until Silva earned himself two yellow cards in a four-minute span.
Madrid's five-game winning run in the league ended at Reyno de Navarra Stadium, where they have only one victory in their past six visits.
Osasuna, who sit just two points above the relegation zone, has held both Barcelona and Madrid to draws there this season.
Elsewhere, Granada moved into the upper half of the standings by winning 2-0 at 10-man Rayo Vallecano in an error-plagued match.
Granada's Youssef El Arabi wasted a golden chance, Rayo let Fran Rico's harmless cross bounce into their net, and Igancio Martinez drew a second yellow card for diving in the box.
Malaga edged Getafe 1-0 at home to get a much-needed win and take some pressure off first-year coach Bernd Schuster.
Striker Roque Santa Cruz went on in the 74th and a minute later headed in the winner.
Information from The Associated Press and Press Association was used in this report.