Two late goals from substitute Lionel Messi sealed a dramatic win for Barcelona over Shakhtar Donetsk and maintain their 100% start in Champions League Group C.
Ilsinho's goal at the end of the first half looked to have secured the points for the hosts, but Argentina winger Messi struck twice in the last four minutes to turn the match on its head and put Barca in a strong position to progress to the knockout stage.
Both teams had enjoyed a winning start to their group challenges. Shakhtar were 2-1 victors at Basel two weeks ago while Barca saw off Sporting Lisbon 3-1.
That had led to hopes of an exciting encounter in Donetsk, but there was little to entertain the crowd in the opening 20 minutes as the match quickly descended into a scrappy affair.
Thierry Henry was the only player to create a chance during that spell, with Shakhtar goalkeeper Andrei Pyatov fumbling the Frenchman's 18-yard drive after six minutes.
The home side had to wait until the 24th minute to catch their first glimpse of goal, but Brandao blasted his right-footed volley high over the crossbar.
The game was finally beginning to open up though, and Barca midfielder Xavi caused hearts to flutter in the Shakhtar defense when he raced onto a through-ball from Henry.
Pyatov reacted quickly to avert the danger, and the Shakhtar custodian made another contribution moments later to show a safe pair of hands to Dani Alves' 25-yard effort.
The Ukrainian side responded with an opening of their own after 37 minutes. Brandao's cross from the left was helped on by Luiz Adriano into the path of Ilsinho, whose right-footed strike was blocked by Barca keeper Victor Valdes.
It should have served as a warning to the Spanish visitors, but they failed to heed it and found themselves trailing a minute before the interval.
A long ball forward from Luiz Adriano took a slight touch off a Barca player to land at the feet of Ilsinho, who darted into the box before delicately chipping Valdes from eight yards.
Barca coach Pep Guardiola could not have been impressed by what he saw in the first half, but things looked brighter after the restart when Andres Iniesta tried his luck from 18 yards with a drive which went wide.
And Alves came even closer for the visitors after 51 minutes with a low free-kick which was tipped around the post by Pyatov.
Guardiola was still not satisfied though and tried to shake things up after 59 minutes, bringing on Messi in place of Henry.
Yet the change did not have the desired effect and Barca could have found themselves further behind after 75 minutes when Valdes was forced to parry Darijo Srna's volley following Fernandinho's free-kick.
This time Barca did heed the warning and Messi managed his first shot on goal after 80 minutes with a header from Alves' cross which flew over the crossbar.
Substitute Bojan Krkic then found the side netting with his drilled left-footed strike with the Spaniards finally starting to make their presence felt.
And it was no surprise when the equaliser did arrive after 86 minutes, although Pyatov was unfortunate to have a hand in the goal.
The Shakhtar goalkeeper spilled a cross from Xavi gifting Messi the simplest of tap-ins from a few yards out.
Having got themselves back on level terms, Barca upped the tempo further in search of a winner.
Claims for a late penalty from Iniesta were waved away by English referee Howard Webb, but it mattered little as Messi struck again in the fourth minute of injury time with a neat chip over Pyatov to snatch the win.