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.
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 striker Robert Lewandowski woefully disconnected on his return to Germany.
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 mark 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.
Shakhtar, third, now sit only three points behind Barcelona, who host Porto in their next Champions League match on November 28.
AFP