Barcelona recovered from 1-0 down to defeat Real Sociedad 2-1 on Thursday (AEDT) and close to within six points of the La Liga summit.
Willian Jose put the visitors in front at Camp Nou against the run of play to give them hope of ending an eight-match run without a league win over the Catalans.
A fine strike from Jordi Alba restored parity before Frenkie de Jong prodded in what proved to be the winner before half-time as Barca secured a result that will go some way towards easing pressure on head coach Ronald Koeman.
The loss was only Sociedad's second in the league this season and ensured they missed out on leapfrogging Atletico Madrid at the top of the table.
Barca were in control of the opening 25 minutes but failed to test Alex Remiro in the visiting goal from any of their first six shots.
They found themselves behind when Sociedad scored with their first effort on target of the match, Willian Jose converting Portu's cut-back following a corner.
Barca levelled in fine style just four minutes later, Alba pouncing on a loose ball and firing high past Remiro with his right foot.
Antoine Griezmann danced his way past the defence and the goalkeeper only to see the ball cannon back off the bar, and Martin Braithwaite fired over from Pedri's pass.
The pressure told before the break, Alba's low cross deflecting kindly for de Jong to finish, with VAR overturning the offside decision.
La Real started the second half much stronger but were lucky not to fall 3-1 down, Griezmann somehow turning the ball away from goal after sliding in to meet Alba's cross.
Alexander Isak had a great chance to level when bearing down on goal but the covering Pedri made a crucial tackle before colliding with the goal post for good measure, and Marc-Andre ter Stegen did brilliantly to deny the striker after palming a shot into his path late on.