Lionel Messi put in a man-of-the-match performance to help Barcelona return to winning ways after consecutive defeats against Malaga and Juventus as they beat Real Sociedad 3-2 at Camp Nou.
The Argentina international struck twice in the first half to take his tally for the Catalans to 498 goals in all competitions, before an own goal from Samuel Umtiti shortly before the break helped the Basque side back in the game.
Messi then set up Paco Alcacer – who replaced the suspended Neymar – to make it 3-1, with Xabi Prieto quickly responding to make it four goals in the last eight minutes of an enthralling first half.
Sociedad were unable to find a leveller in a much more low-key second half, as Messi's stellar display made the difference.
Saturday's win not only provides a welcome boost for Barca ahead of the second leg of their Champions League quarter-final tie against Juventus, with the reigning Spanish champions in need of another comeback after their 3-0 defeat in Turin on Tuesday, but also keeps their LaLiga title chances alive.
Luis Enrique's men are trailing leaders Real Madrid by three points ahead of next week's Clasico at the Santiago Bernabeu, while the capital side have a game in hand, too.
Sociedad made an encouraging and should perhaps have gone a goal up when Willian Jose presented Mikel Oyarzabal with a fine opportunity in the 12th minute, only for the young attacker to aim a tame shot straight at goalkeeper Marc-Andre ter Stegen.
Barcelona slowly grew into the game and forged ahead when Messi found the net five minutes later, sending a low shot past goalkeeper Geronimo Rulli from outside the area after being set up by Luis Suarez.
Messi then doubled his side's lead 10 minutes before half-time with his 29th strike of the season, tapping home from close range after Rulli had initially done well to deny Suarez.
The visitors refused to give up, though, and they pulled one back shortly before the break when Umtiti was unfortunate to divert Inigo Martinez's cross past his own goalkeeper.
But Barca immediately restored their two-goal lead when Alcacer beat Rulli with a low shot into the far corner having been sent clean through on goal by Messi.
There was still more to come in the first half, however, and Prieto expertly steered the ball past Ter Stegen from Willian Jose's cross.
Things significantly slowed down after half-time as Sociedad did well to limit Messi's contribution to the game, with Alcacer and Suarez struggling to take some of the weight off the Argentine's shoulders.
Eusebio Sacristan's men could do little to worry the hosts at the other end, though.
A win would have moved them up to fifth, but Asier Illarramendi's opportunistic free kick from 40 yards out that was pushed over by Ter Stegen their most dangerous attempt on target.
Yuri Berchiche fired over when well placed in stoppage time, while and Suarez was denied by Rulli's legs at the other end as Barca ultimately got the job done.
Key Opta stats:
- Lionel Messi has won more points with his goals than any other player in LaLiga this season (17 points with 29 goals).
- Messi has scored more goals from outside the box than any other player in Europe's top five leagues this season (seven).
- Paco Alcacer has scored in four of his last seven LaLiga games for Barcelona.
- Barcelona faced seven shots on target against Real Sociedad, more than in any other game at home this season (all competitions).