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.
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, currently occupied by Atletico Madrid.
Rabiot header earns Juventus win over Fiorentina
A first-half goal by midfielder Adrien Rabiot earned Juventus a 1-0 home win over Fiorentina in Serie A on Sunday, stretching the visitors' winless run to five games.
Juventus, who have now kept one more clean sheet this season (14) than they did in the entire 2021-22 campaign, moved up three places to ninth on 29 points from 22 games. They sit one point behind eight-placed Udinese and Torino in seventh.
Juve had a good chance to take the lead in the 12th minute when Angel Di Maria's cross bounced off a Fiorentina defender to reach Filip Kostic inside the box, but he shot narrowly wide of the far post from a tight angle.
The Serbia defender could have given Juventus the lead once more when he connected with a lofted pass but his shot was saved by goalkeeper Pietro Terracciano.
Rabiot put the hosts in front in the 34th minute with a close-range header from a delightful cross by Di Maria. Terracciano initially parried the ball away but goalline technology proved it had crossed the line.
Fiorentina barely troubled the Juventus defence in the opening 45 minutes and continued to offer little threat after the break.
Juve striker Dusan Vlahovic thought he had made it 2-0 in the 59th minute when he lobbed the goalkeeper, but what would have been his first goal against his former club was ruled out by VAR due to an offside in the build-up.
Substitute Moise Kean had two good chances for Juventus after coming on for Vlahovic but his first effort was saved by the alert Terracciano and the other was off target.
Substitute Gaetano Castrovilli filled Fiorentina with hope in the closing stages when his powerful low shot sped past keeper Wojciech Szczesny, but VAR ruled out the effort for offside.
Juventus, who host Nantes in the Europa League on Thursday, travel to Spezia on Feb. 19 in Serie A. Fiorentina, who dropped to 14th on 24 points, host 12th-placed Empoli the same day.
PIX: Rampaging Real Madrid win fifth Club World Cup
Ronaldo scores four goals to pass 500 in club career
Footballer remains missing after Turkey earthquake
Messi Jersey Gifts For Modi, Jaishankar