Match ends, Barcelona 2, Real Sociedad 0.
Pedro scored a fantastic bicycle kick as Barcelona beat David Moyes's Real Sociedad to move to within one victory of the La Liga title.
Barca are four points clear with two games left following Real Madrid's 2-2 draw with Valencia.
After a frustrating first half, Neymar headed home Lionel Messi's cross to give Barca the lead.
And substitute Pedro wrapped it up late on with a brilliant acrobatic effort from the penalty spot.
This round of La Liga games is the last before a suspension of football in Spain starts in an argument over television rights.
If a solution is found and the season can continue, Barcelona, who have now kept seven consecutive clean sheets, need only to beat champions Atletico Madrid or final-day opponents Deportivo La Coruna.
In the reverse meeting in January, Moyes led La Real to a famous win but, with the club safely at mid-table, they had little to play for at the Nou Camp.
Barca boss Luis Enrique made changes with Tuesday's Champions League semi-final second leg against Barcelona in mind, following their 3-0 first-leg success.
Xavi, Adriano, Marc Bartra and Rafinha all came in but they still dominated from the start with Geronimo Rulli denying a Messi header and Luis Suarez heading wide.
The Real keeper then denied Gerard Pique with a good save, with the defender putting the rebound wide with an overhead kick.
Barcelona kept up the pressure in the second half, and finally led when Real defender Mikel Gonzalez headed Messi's right-wing cross towards Neymar, who converted from close range.
The game was sealed when Pedro, only on the pitch for three minutes, scored a stunning overhead kick as a deflection looped in the air to him.
Barca are chasing a treble, with a Copa del Rey final against Athletic Bilbao on Saturday, 30 May - subject to football remaining suspended in Spain.
- 22Alves da Silva
- 15BartraSubstituted forBusquetsat 61'minutes
- 6HernándezSubstituted forIniestaat 74'minutes
- 14MascheranoBooked at 63mins
- 12RafinhaSubstituted forPedroat 82'minutes
- 1ter Stegen
- 20Roberto Carnicer
- 1RulliBooked at 62mins
- 6Martínez Berridi
- 24De la BellaBooked at 27mins
- 14Pardo GutiérrezBooked at 76mins
- 5BergaraBooked at 29mins
- 10Prieto Argarate
- 16CanalesSubstituted forCastroat 73'minutes
- 8GraneroBooked at 26minsSubstituted forElustondoat 90+3'minutes
- 11VelaSubstituted forFinnbogasonat 77'minutes
- 19Berchiche Izeta
- 20Zaldúa Bengoechea
- Ignacio Iglesias Villanueva
- Shots on Target
Second Half ends, Barcelona 2, Real Sociedad 0.
Attempt missed. Xabi Prieto (Real Sociedad) header from the right side of the box is close, but misses the top right corner. Assisted by Gonzalo Castro with a cross following a corner.
Corner, Real Sociedad. Conceded by Adriano.
Attempt saved. Alfred Finnbogason (Real Sociedad) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Gonzalo Castro.
Offside, Real Sociedad. Markel Bergara tries a through ball, but Alfred Finnbogason is caught offside.
Attempt missed. Lionel Messi (Barcelona) left footed shot from the centre of the box is close, but misses to the left. Assisted by Neymar following a fast break.
Goal! Barcelona 2, Real Sociedad 0. Pedro (Barcelona) right footed shot from the centre of the box to the high centre of the goal. Assisted by Luis Suárez.
Attempt saved. Lionel Messi (Barcelona) left footed shot from outside the box is saved in the bottom right corner. Assisted by Neymar.
Foul by Andrés Iniesta (Barcelona).
Esteban Granero (Real Sociedad) wins a free kick in the attacking half.
Substitution, Barcelona. Pedro replaces Rafinha.
Attempt blocked. Rubén Pardo (Real Sociedad) right footed shot from outside the box is blocked. Assisted by Gonzalo Castro.
Offside, Barcelona. Luis Suárez tries a through ball, but Lionel Messi is caught offside.
Substitution, Real Sociedad. Alfred Finnbogason replaces Carlos Vela.
Rubén Pardo (Real Sociedad) is shown the yellow card for a bad foul.
Neymar (Barcelona) wins a free kick on the left wing.
Foul by Rubén Pardo (Real Sociedad).
Substitution, Barcelona. Andrés Iniesta replaces Xavi.
Foul by Dani Alves (Barcelona).