Barcelona closed the year in control of La Liga, brushing aside a hostile atmosphere and a stubborn Villarreal side with a composed 2-0 win on Sunday that underlined their authority at the summit.
Goals from Raphinha and teenage winger Lamine Yamal settled the contest, which swung decisively Barcelona’s way when Villarreal were reduced to 10 men just before halftime.
The victory lifted Barcelona to 46 points, four clear of Real Madrid, while Villarreal slipped to fourth on 35.
Barcelona struck early. In the 12th minute, Raphinha was clipped as he cut inside the area, and the Brazilian made no mistake from the spot, sending goalkeeper Luiz Junior the wrong way with a measured finish for his seventh league goal of the season.
Villarreal’s task grew far steeper six minutes before the break.
Defender Renato Veiga lunged late from behind on Yamal, catching the young forward on the foot.
The referee produced a straight red card, a decision that left Villarreal furious and Yamal briefly down receiving treatment before returning to the match.
“The red card was indisputable,” Barcelona coach Hansi Flick said. “Lamine has to deal with the hostility. Scoring the second goal is the best response.”
Yamal delivered exactly that in the 63rd minute.
After a sustained spell of pressure and a goalmouth scramble that Villarreal failed to clear, the ball broke kindly to him, and he finished from close range to double Barcelona’s lead – his seventh goal of the league campaign.
Despite their numerical disadvantage, Villarreal refused to fold. Georges Mikautadze twice broke through the Barcelona back line, only to be denied by sharp goalkeeping, with a third effort drifting narrowly wide. Flick acknowledged his side rode their luck at times.
“The team is tired, and in defence we didn’t have many options,” he said. “But I’m proud of the players. Villarreal are very quick in attack, and these three points are very important.”
Barcelona, playing without injured center back Andreas Christensen after he tore an ACL in training, managed the closing stages with maturity to seal a seventh straight win in all competitions under Flick.
The result had ripple effects elsewhere in the title race.
Atletico Madrid moved into third place with a commanding 3-0 win at Girona, leapfrogging Villarreal despite having played two more matches.
Koke opened the scoring with a crisp half-volley from outside the box, and Jan Oblak preserved the lead with a stunning one-handed save to claw Axel Witsel’s close-range effort off the line.
A deflected strike from Conor Gallagher doubled Atletico’s advantage before the break, and Antoine Griezmann capped the win in stoppage time with a trademark, ice-cold finish after a slick exchange on the edge of the area.
Girona remained in the relegation zone after the defeat.
Elsewhere, Elche thrashed Rayo Vallecano 4-0, while Real Betis handed Getafe the same scoreline.
On Saturday, Real Madrid forward Kylian Mbappe marked his birthday with another goal as Madrid stayed in touch at the top.
Barcelona, though, head into the new year setting the pace – calm, clinical and increasingly convincing.