Barcelona produced a seven-goal thriller against Villarreal, coming from behind in the second half to grab all three points.
The hosts looked to have grabbed an early lead to stun the champions when Alexander Sørloth burst in behind the Barça defense before firing home, but the big forward was narrowly offside, forcing the referee to disallow the goal.
Barça remained under cover as Villarreal created a flurry of chances that were only held back by the heroics of goalkeeper Marc-André ter Stegen.
The Barça goalkeeper was rewarded for his efforts minutes later as his side struck the first blow to calm the home crowd as Gavi was left alone to open the scoring from a close range header.
While Frenkie de Jong doubled Barcelona’s lead moments later, the hosts responded promptly by scoring an own goal through Juan Foyth to keep themselves in the game.
Alexander Sørloth finally saw some luck just before the break when he got behind Barcelona’s high line again. However, VAR would not deny the striker this time as he stabbed home to equalize and reignite La Ceràmica.
Villarreal completed their turnaround just after the break thanks to Álex Baena’s strike, stunning Barcelona into a two-goal advantage inside 20 minutes.
But an inspired dive from Barça’s kick-off made the difference as Ferran Torres came off the bench to fire home to level the score in the last 25 minutes.
However, the drama did not end there as Robert Lewandowski regained Barca’s lead after teenager Lamine Yamal saw his shot bounce off the post.
Player Ratings Barcelona
GK: Marc-Andre ter Stegen – 8/10 – Fresh from signing a new contract, Ter Stegen once again proved that he is worth every penny with a flurry of miraculous saves.
RB: Sergi Roberto – 3/10 – Constantly caught in two minds, leaving Baena and Pedraza to wreak havoc in that uncertainty.
CB: Jules Kounde – 4/10 – All too often forced into a last-ditch defensive action which didn’t always come off.
CB: Andreas Christensen – 3/10 – Inspired little confidence without the commanding presence of the injured Ronald Araujo beside him. Hooked at half-time for Eric Garcia.
LB: Marcos Alonso – 6/10 – Tasked with providing Barcelona’s width down the left flank, Alonso increasingly crashed the box after the break.
CM: Oriol Romeu – 6/10 – Sweeping up any loose scraps at the base of Barcelona’s midfield.
CM: Frenkie de Jong – 8/10 – Seemed to relish Villarreal’s high press. After coming up against stubborn low blocks, De Jong languidly swayed between the chasing yellow shirts.
AM: Ilkay Gundogan – 5/10 – A footballer who plays like he’s wearing a dinner jacket struggled to get involved in this ragged contest.
RW: Lamine Yamal – 7/10 – Completely ignored his defensive duties but created two goals and hit the woodwork twice.
ST: Robert Lewandowski – 5/10 – Bumped and bruised, the Pole kept his concentration long enough to gobble up a tap-in.
LW: Gavi – 7/10 – Celebrated his well-taken goal with a nod to the absent Pedri but Barcelona didn’t miss the injured midfielder going forward thanks, in no small part, to Gavi.
SUB: Eric Garcia (46′ for Christensen) – 4/10 – Scarcely did much better than Christensen.
SUB: Ferran Torres (63′ for Romeu) – 7/10 – Despite limited minutes, Ferran continued his excellent form in front of goal.
SUB: Ansu Fati (76′ for Yamal) – N/A
SUB: Fermin Lopez (86′ for Gundogan) – N/A