Barcelona suffered a second defeat in four days as two Villarreal goals in stoppage time saw Xavi’s men beaten 5-3 in a thrilling contest at the Estadi Olimpic Lluis Companys.
Trailing 2-0 via efforts either side of the break from Gerard Moreno and Ilias Akhomach, Barca suddenly turned things around with strikes from Ilkay Gundogan, Pedri and an Eric Bailly own goal in quick succession.
Villarreal then brought things back level through Goncalo Guedes’ 84th-minute finish, before Alexander Sorloth and Jose Luis Morales added goals deep into stoppage time to complete a stunning comeback from the visitors.
Making it back-to-back defeats after Wednesday’s 4-2 extra-time Copa del Rey loss at Athletic Bilbao, the result leaves LaLiga champions Barcelona 10 points behind leaders Real Madrid, who won 2-1 at Las Palmas earlier on Saturday.
An early attack by Villarreal saw them put the ball in the net in the third minute, but Alex Baena’s effort was disallowed for offside.
Their goalkeeper Filip Jorgensen was then called into action to save a Lamine Yamal effort and, in some style, tip over Joao Felix’s strike before the visitors again had a goal chalked off midway through the first half.
This time Moreno was the scorer, with offside given – following a VAR review – against Sorloth, who did not touch the ball but was adjudged to have been interfering with play.
The breakthrough then came for Villarreal in the 41st minute with the front pair combining, Sorloth laying a pass from the left and Moreno firing past Inaki Pena.
After Xavi made three substitutions at the break, replacing Hector Fort, Andreas Christensen and Oriel Romeu with Joao Cancelo, Pau Cubarsi and Pedri, things got even worse for Barca nine minutes into the second half as Villarreal doubled their advantage.
Ex-Barca man Akhomach punished his former employers as he seized upon Cancelo’s failed attempt to clear, going around Pena and slotting in.
Barca swiftly reduced the deficit, Gundogan sweeping the ball into the corner on the hour mark having been teed up Robert Lewandowski’s backheel.
They were then back on level terms eight minutes later, with Gundogan providing an assist as Pedri lashed past Jorgensen.
And the emphatic response continued, with Barca taking the lead another three minutes on from that, with Gundogan again involved as his free-kick was inadvertently headed into his own net by Bailly.
It was some turnaround – and there was still more drama to come, first with Villarreal bouncing back to make things all square again thanks to substitute Guedes’ powerful finish past Pena.
As the game entered stoppage time the ball struck Villarreal’s Santi Comesana in the box and a VAR check for handball ensued, but the decision was no penalty, much to Xavi’s dismay.
A further twist then came in the ninth minute of added time as Sorloth’s finish put the away side back in front, and a remarkable end to a breathtaking game then saw Morales, another substitute, make it 5-3 with 102 minutes on the clock.