Match ends, Barcelona 3, Real Sociedad 2.
Lionel Messi scored twice as below-par Barcelona laboured to a win over Real Sociedad to keep their La Liga title hopes alive.
The champions are three points below Real Madrid, who have a game in hand, going into El Clasico next weekend.
Messi fired Barca into the lead from 25 yards and scuffed home a second, his 498th goal for the club, before Samuel Umtiti's own goal gave La Real hope.
Paco Alcacer made it 3-1 before Xabi Prieto pulled one back.
Unlike a weakened Real Madrid, who beat Sporting Gijon by the same scoreline earlier in the day, Barca played a full-strength team.
Barcelona host Juventus on Wednesday in the Champions League quarter-final, having lost the first leg 3-0 in Italy.
But boss Luis Enrique decided he could not risk losing ground in the title race in order to keep his players fresh for that game.
Barca now go into a potentially season-defining week. After the Juventus match comes a trip to Madrid, where a win would send Enrique's side top on the head-to-head rule - although Real would still have an extra game to play.
All the goals at the Nou Camp were scored in the first half, with three coming in the five minutes before the break.
Barcelona, who were without the suspended Neymar, had to hang on for periods.
La Real's best chance to equalise came when Asier Illarramendi's ambitious 50-yard free-kick had to be tipped over by a back-pedalling Marc-Andre ter Stegen.
- 1ter Stegen
- 3PiquéBooked at 88mins
- 21André GomesSubstituted forIniestaat 69'minutes
- 17AlcácerBooked at 41minsSubstituted forD Suárezat 79'minutes
- 9SuárezBooked at 68mins
- 6D Suárez
- 20Zaldúa Bengoechea
- 22Rodríguez Navas
- 6Martínez Berridi
- 19Berchiche Izeta
- 4IllarramendiBooked at 49mins
- 17ZurutuzaSubstituted forGraneroat 84'minutes
- 11VelaBooked at 7minsSubstituted forCanalesat 62'minutes
- 10Prieto Argarate
- 12Da SilvaSubstituted forBautistaat 79'minutes
- 25Ramírez Martínez
- Juan Martínez Munuera
- Shots on Target
Second Half ends, Barcelona 3, Real Sociedad 2.
Andrés Iniesta (Barcelona) wins a free kick on the left wing.
Foul by Asier Illarramendi (Real Sociedad).
Attempt saved. Luis Suárez (Barcelona) right footed shot from the centre of the box is saved in the centre of the goal.
Attempt missed. Yuri (Real Sociedad) left footed shot from the left side of the box is close, but misses to the left. Assisted by Esteban Granero.
Offside, Barcelona. Ivan Rakitic tries a through ball, but Luis Suárez is caught offside.
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 left wing.
Attempt saved. Denis Suárez (Barcelona) right footed shot from the left side of the box is saved in the top left corner. Assisted by Luis Suárez.
Ivan Rakitic (Barcelona) wins a free kick in the defensive half.
Foul by Esteban Granero (Real Sociedad).
Substitution, Real Sociedad. Esteban Granero replaces David Zurutuza.
Andrés Iniesta (Barcelona) wins a free kick in the defensive half.
Foul by Sergio Canales (Real Sociedad).
Attempt missed. Ivan Rakitic (Barcelona) left footed shot from the right side of the box misses to the left. Assisted by Andrés Iniesta following a corner.
Corner, Barcelona. Conceded by Yuri.
Corner, Barcelona. Conceded by Iñigo Martínez.
Attempt saved. Ivan Rakitic (Barcelona) right footed shot from outside the box is saved in the bottom right corner. Assisted by Lionel Messi.