Barcelona continued their perfect start to La Liga as they came from behind to beat Real Valladolid 4-1, their eighth win in as many games.
Javi Guerra headed the leaders in front before Alexis Sanchez equalised, with Xavi side-footing Barca ahead.
Sanchez made it 3-1 and then provided the pass for Neymar to add a fourth.
Elsewhere, Cristiano Ronaldo rifled home a 94th-minute winner as Real Madrid twice came from behind to win 3-2 at Levante.
The hosts took a surprise lead through Baba Diawara before Sergio Ramos levelled from a corner soon afterwards.
Substitute Nabil El Zhar restored Levante's lead with an excellent individual goal four minutes from time.
But in a dramatic finish, Alvaro Morata scored a 90th-minute equaliser and Ronaldo's deflected shot in the fourth minute of stoppage time secured the points.
"When our team plays, five minutes is all it takes to win a game," said Real manager Carlo Ancelotti, whose side remain five points behind Barcelona, who have a three-point lead at the summit.
"The victory was very important because it was a very difficult game.
"It was even more difficult at the end, but we didn't give up and we had the will to fight till the end."
Real Sociedad conceded a late goal to lose a second successive game.
After losing in injury time at Bayer Leverkusen in the Champions League, Rayo Vallecano substitute Jonathan Viera scored an 89th-minute penalty to secure a 1-0 win for his side.
Elsewhere, Espanyol lost 2-1 at Elche. On Sunday, Atletico Madrid are aiming to move level with Barcelona by beating visitors Celta Vigo to claim their eighth straight win.