A first-half strike from Pedri gave Barcelona a 1-0 win over Villareal at the Estadio de la Ceramica on Sunday to extend their lead over Real Madrid at the top of LaLiga to 11 points and keep them on course for a first league title since 2019.
Robert Lewandowski fired an early chance straight at goalkeeper Pepe Reina but he had better luck with his passing, teeing up Pedri in a brilliant exchange that set up the 20-year-old to clip the ball into the net in the 18th minute.
- Stream on ESPN+: LaLiga, Bundesliga, more (U.S.)
Lewandowski almost scored a second eight minutes later after another flowing Barca attack, but Reina was able to get down smartly to steer away his left-footed shot from inside the box.
In a game punctuated by some crunching tackles, Villareal lost midfielder Francis Coquelin to what looked to be a nasty knee injury in the 35th minute, and referee Alejandro Hernandez Hernandez doled out eight yellow cards, four to each team, over the 90 minutes.
Though the home side had more possession it was the visitors who created the better chances, with Lewandowski and Raphinha both coming close to doubling the lead as the action ebbed and flowed.
On the few occasions Villareal did break through, they found centre back Ronald Araujo in imperious form, and he came to his side's rescue more than once with well-timed clearances and tackles in the second half.
Lewandowski had one last effort at getting the better of Reina but again he came up short as the keeper pulled off another fine save to deny the Polish international, but it wasn't enough to prevent Barcelona from taking all three points.
The win leaves Barca top of the standings on 56 points after 21 games, while Villareal are in eighth position on 31 points, seven off LaLiga's fourth Champions League place, occupied by Atletico Madrid.