Barcelona are seven points clear at the top of La Liga after grinding out a 1-0 win over Real Valladolid.
Lionel Messi struck a penalty in the first half to score his 30th goal of the season in all competitions.
Elsewhere, second-placed Atletico Madrid edged Rayo Vallecano 1-0, with Antoine Griezmann scoring the winner in the second half.
The goal saw the French forward (130 goals) overtake Fernando Torres as the fifth-highest goalscorer in the club's history.
In other games, Real Sociedad thrashed Leganes 3-0 and Levante defeated Celta de Vigo 4-1.

Daniil Medvedev handed Dubai title after Griekspoor withdrawal
England beat New Zealand to keep Pakistan's T20 World Cup hopes alive
Medvedev to face Griekspoor in bid for second Dubai title
Real Madrid face Man City again in Champions League knockouts
India defeat Zimbabwe to revive T20 World Cup hopes