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.

Norris unfazed by crowd boos after winning in Mexico
Mbappe and Bellingham strike as Real Madrid edge Barcelona 2-1 in fiery El Clasico
Brazilian teen Fonseca beats Fokina to win biggest career title in Basel
Arsenal go clear after win over Palace, Man City slip up at Villa
Brook's defiant ton in vain as New Zealand beat England
