Barcelona remain just one point behind La Liga leaders Atletico Madrid as they overcame Real Betis 3-1 at the Camp Nou on Saturday.
Atletico registered their sixth straight league win earlier in the day with a tense 1-0 victory over Villarreal.
Lionel Messi put Barca in front from the penalty spot before Jordi Figueras' comical own goal doubled the hosts' advantage.
Ruben Castro brought Betis back into the game moments later, but Messi killed the game off four minutes from time by slotting home the rebound after Antonio Adan had saved his second penalty of the day. Third-placed Real Madrid are now six points behind Atletico, but can cut that gap when they visit Real Sociedad later on Saturday.
Betis arrived at the Camp Nou seemingly already resigned to being relegated this season and the game started as expected when Alexis Sanchez was bundled over by Figueras and Messi converted his 10th goal in his last seven games. Messi then fired another effort just wide as Barca controlled the opening 45 minutes without overly threatening the Betis goal.
Pedro Rodriguez was first to come close after the break as he shot straight at Antonio Adan with just the keeper to beat before Xavi's free-kick clipped the bar on its way over. Jose Manuel Pinto then had to make a smart save to prevent Marc Bartra turning Alfred N'Diaye's effort into his own net, but Barca appeared to have made the game safe when Figueras' desperate lunge diverted the ball into his own net from outside the box.
Betis were back in the game just two minutes later, though, when Castro took advantage of a slip by Adriano to slot low past Pinto. However, Barca did finally kill the game off four minutes from time when Antonio Amaya handled Neymar's cross and despite Adan saving Messi's second penalty of the day, the Argentine knocked home the rebound.