Match ends, Real Sociedad 2, Barcelona 4.
Luis Suarez scored twice as Barcelona battled back from 2-0 down to beat Real Sociedad and keep their unbeaten start to the league season going.
Willian Jose headed Real ahead and then had a goal ruled out before Juanmi's deflected strike doubled their lead.
Paulinho slid in Suarez's cross to pull one back and the striker then levelled with a magnificent looping effort.
Suarez scored again from Thomas Vermaelen's header and Lionel Messi curled in a late free-kick.
The result leaves fourth-placed defending champions Real Madrid nearer to the relegation zone than to Barcelona. It is the first time Barca have been 19 points above Real since the penultimate day of the 1990-91 season.
Barcelona had not won a La Liga game away to Real Sociedad in a decade - picking up two points from the previous seven games - and it looked like that run was going to continue after 34 minutes.
Willian Jose's bouncing header from Xabi Prieto's cross beat Marc-Andre ter Stegen and the Brazilian then had a goal harshly ruled out because of a disputed foul on Ivan Rakitic.
They deserved to double their lead when Juanmi controlled Sergio Canales' reverse pass over the top before scoring.
But Barcelona showed great mental strength to bounce back and Paulinho gave them renewed hope going into the break when he scored from Suarez's cross.
Suarez, who has rediscovered his form after a slow start to the season, scored an excellent second - when his first-time side-footed effort from the corner of the box flew over Geronimo Rulli into the back of the net.
And Messi scored a fantastic 25-yard free-kick, which left Rulli rooted to the ground, to seal the win.
Following Manchester City's 4-3 defeat by Liverpool earlier on Sunday, Barcelona - who are nine points clear of second-placed Atletico Madrid - are the only side yet to lose in Europe's top leagues.
- 4IllarramendiBooked at 63mins
- 17ZurutuzaSubstituted forZubeldiaat 56'minutes
- 7JuanmiSubstituted forOyarzabalat 60'minutesBooked at 84mins
- 10Prieto ArgarateSubstituted forJanuzajat 78'minutes
- 12Da Silva
- 13Ramírez Martínez
- 1ter Stegen
- 20RobertoBooked at 60mins
- 3PiquéBooked at 90mins
- 15PaulinhoSubstituted forDembéléat 65'minutes
- 21André GomesSubstituted forDigneat 80'minutes
- 9SuárezSubstituted forD Suárezat 90'minutes
- 6D Suárez
- José Luis González González
- Shots on Target
Second Half ends, Real Sociedad 2, Barcelona 4.
Corner, Real Sociedad. Conceded by Marc-André ter Stegen.
Gerard Piqué (Barcelona) is shown the yellow card for a bad foul.
Foul by Gerard Piqué (Barcelona).
Mikel Oyarzabal (Real Sociedad) wins a free kick on the right wing.
Attempt blocked. Mikel Oyarzabal (Real Sociedad) left footed shot from the right side of the box is blocked. Assisted by Sergio Canales.
Substitution, Barcelona. Denis Suárez replaces Luis Suárez.
Attempt missed. Luis Suárez (Barcelona) right footed shot from a difficult angle on the right is close, but misses to the right. Assisted by Sergi Roberto.
Attempt blocked. Igor Zubeldia (Real Sociedad) right footed shot from outside the box is blocked.
Corner, Real Sociedad. Conceded by Lucas Digne.
Attempt blocked. Sergio Canales (Real Sociedad) left footed shot from outside the box is blocked. Assisted by Álvaro Odriozola with a through ball.
Foul by Lionel Messi (Barcelona).
Asier Illarramendi (Real Sociedad) wins a free kick in the defensive half.
Goal! Real Sociedad 2, Barcelona 4. Lionel Messi (Barcelona) from a free kick with a left footed shot to the bottom left corner.
Mikel Oyarzabal (Real Sociedad) is shown the yellow card for a bad foul.
Luis Suárez (Barcelona) wins a free kick in the attacking half.
Foul by Mikel Oyarzabal (Real Sociedad).
Foul by Luis Suárez (Barcelona).
Igor Zubeldia (Real Sociedad) wins a free kick in the defensive half.