Barcelona finished on top of Champions League Group H despite slipping to a shock 3-2 defeat to Royal Antwerp in a dramatic contest at the Bosuilstadion.
After the first half had seen Arthur Vermeeren’s early effort for the hosts cancelled out by Ferran Torres, former Tottenham striker Vincent Janssen restored the lead for Mark van Bommel’s Antwerp 11 minutes after the break.
Barcelona then hit back via Marc Guiu in stoppage time, only for George Ilenikhena to reply moments later to wrap up a historic win for the Belgians, who had lost each of their previous five games in what was their debut Champions League group campaign.
Barca had gone into the match with qualification for the last 16 secure, and retained top spot ahead of Porto – who beat Shakhtar Donetsk 5-3 – thanks to a superior head to head record.
It was the second time in four days that Xavi’s men were beaten, following Sunday’s 4-2 LaLiga loss at home to Girona.
With a starting XI showing seven changes from that game, Barcelona found themselves a goal down in the second minute when a mistake at the back was punished by 18-year-old midfielder Vermeeren.
Receiving a pass from goalkeeper Inaki Pena in the Barca box, Oriel Romeu inadvertently diverted the ball to Vermeeren, who fired into the net.
Janssen then saw his shot on the turn comfortably dealt with by Pena, and sent a further effort off target.
Having struggled for rhythm, Barca were then back on level terms in the 35th minute via a counter-attack that ended with Lamine Yamal playing a fine pass and Torres sweeping the ball past Jean Butez.
Antwerp had the ball in the net again five minutes into the second half but Janssen’s finish was disallowed for handball, and Yamal struck the bar at the other end moments later.
A dramatic few minutes then continued with Barca’s Sergi Roberto being shown a red card for a challenge on Mandela Keita before the decision was overturned via VAR, before Antwerp did regain the lead.
Romeu was again guilty of sloppiness, being dispossessed near his box by Alhassan Yusuf, and he laid the ball to Janssen, who struck into the corner of the net.
Xavi responded with a triple substitution on the hour as Ilkay Gundogan, replacing Romeu, Joao Cancelo and Pedri came on.
Further Antwerp pressure saw Chidera Ejuke put a shot from distance over and Soumaila Coulibaly head wide, either side of a Pedri attempt being blocked.
Barca pushed to hit back late on and equalised in the first minute of stoppage time when Guiu, who had come on for Robert Lewandowski, headed in a Gundogan free-kick.
But one of Antwerp’s substitutes then had the final say as Ilenikhena – Guiu’s fellow 17-year-old – beat Pena a minute later to seal a famous result.