Barcelona slumped to a 1-0 defeat by Shakhtar Donetsk on Tuesday, spurning the chance to seal early qualification to the Champions League knock-out stages.
Danylo Sikan’s dipping header in the 40th minute secured Shakhtar a famous victory as Xavi Hernandez’s flat Spanish champions failed to trouble their Ukrainian opponents.
Barcelona still lead Group H ahead of Porto, second, hosting Royal Antwerp later on, with the Portuguese side able to pull alongside the Catalans on nine points with victory.
“It’s a tough defeat, we wanted to seal qualification, but it couldn’t be,” Barca midfielder Oriol Romeu told Movistar.
“We have to improve and give up fewer chances to our opponents, we have to look for solutions, because this is tricky for us.”
Romeu said his team had to look in the mirror after their disappointing display.
“Every defeat is a warning,” he added. “We have to be self-critical and see what we did wrong, to correct it quickly.”
After failing to progress from the group stage for two seasons running, Barcelona saw this clash as an opportunity to get the job done with two games to spare.
However Shakhtar, playing their home games in Hamburg because of the Russian invasion of Ukraine, held their own from the start.
Barcelona missed big chances in the first match in October but this time Marino Pusic’s team shut down their uninspired visitors, who produced just one shot on target.
Xavi insisted his team’s performance in the narrow 1-0 league win over Real Sociedad on Saturday was unacceptable, despite the good result, but his team did not heed the coach’s words.
Shakhtar forced Marc-Andre ter Stegen into the first save of the game, with the German goalkeeper denying Mykola Matviienko at the near post after he got in behind Joao Cancelo.
Ilkay Gundogan and Raphinha lashed over from distance as Barca created no danger, with veteran striker Robert Lewandowski woefully disconnected on his return to Germany.
The former Bayern Munich forward has not scored in any of his last six appearances for Barca, amounting to his worst run of goalscoring form for over a decade.
The hosts took the lead a few minutes before half-time, easily slicing the visitors open when Giorgi Gocholeishvili took advantage of Barcelona left-back Marcos Alonso being a long way out of position.
The full-back crossed for Sikan, who beat Andreas Christensen in the air and headed beyond the reach of Ter Stegen.
Ter Stegen saved from Gocholeishvili early in the second half as Shakhtar continued as they left off.
Just before the hour Xavi took action, sending on speedsters Alejandro Balde and Lamine Yamal, as well as Pedri, looking to shake up his team’s lifeless display.
Barcelona were better but not bright enough, as Shakhtar goalkeeper Dmytro Riznyk enjoyed a quiet night.
Shakhtar’s latest young Brazilian winger, Newerton, scored a stunning second in the final stages but it was chalked off for offside — it would have been a superb way to crown a glorious night for Pusic’s team.
Barcelona had seven minutes of added time to work with but could not find a breakthrough, with Felix unsuccessfully appealing for a penalty after he was clipped on the edge of the box.
The Ukrainian champions, third, celebrated joyously at full-time and now sit only three points behind Barcelona, who host Porto in their next Champions League match on November 28.