A Jordi Alba goal at the death gave Barcelona a 2-1 win to sink a battling Celtic side and make it three wins out of three in Group G for the Catalan giants.
The visiting Scottish fans were all set to cheer a well earned point at Barca's Nou Camp fortress but instead they were left crestfallen after conceding a goal in the 93rd minute with Alba bundling the ball over from close range.
Barca, who lead the group with nine points, have not been beaten at home for three years in Europe but they went behind when a header from Giorgos Samaras deflected off Mascherano after 16 minutes.
The hosts, whose imperious start to the campaign has seen them unbeaten so far at home and abroad, were always in control but they uncharacteristically lacked a cutting edge in attack.
Andres Iniesta brought them level before half time and despite late pressure where keeper Fraser Forster made a series of fine saves and David Villa hit the woodwork, Celtic looked like they would hold on but it wasn't to be.
With a long list of injuries to their back line, Barcelona coach Tito Vilanova put his confidence in youth product Marc Bartra in the centre of defence with Javier Mascherano and Adriano Correia at right back.
Alex Song was pushed forward into midfield where he was the only defensive option with Sergio Busquets suspended.
Celtic backed by their usual army of travelling fans had little pressure on them after the solid start to their European campaign but this was always going to be a tough night against Barca's potent attacking threat and they were almost a goal down inside the second minute.
Andres Iniesta sent a defence splitting pass for Alexis Sanchez but he skewed his shot wide over Fraser Forster's right post.
The visitor's game plan was clear. To counter-attack down the wings and launch balls when possible into the box for Samaras and Gary Hooper but they were not getting tight enough to the Barca midfielders who were dictating the play and running the Celtic rearguard ragged.
A point-blank save by Forster kept Barca at bay after a well-worked corner routine.
The ball was played to Messi on the edge of the area and he lofted it back in for Iniesta who in turn found Bartra, but his close-range header was too close to the keeper.
Immediately Celtic broke and from a subsequent free-kick grabbed the lead with Barca hesitant over their aerial threat.
Charlie Mulgrew swung the ball in and Samaras headed the ball on at the near post and it deflected off Mascherano into the goal.
The wind was taken out of the Catalan's sails and while they still dominated possession their passing was not quite as precise as they hurried the final ball.
However, on the point of half time there was a double blow for Celtic as they lost Samaras to injury and Iniesta drew Barca level.
After an interchange with Xavi Hernandez he slotted the ball into the corner to relax the crowd.
Barca continued their intricate build up play after the break but in search of the winning goal they left large gaps at the back. The game was evenly balanced between their slow build up which at times was over-laboured and Celtic's breakaways.
Efe Ambrose was inches away from giving Celtic the lead as he prodded the ball the wrong side of the post ten minutes into the second half while Barca could only manage shots from distance. That was until Messi forced a top draw save from Forster from close range.
Celtic's defending became increasingly desperate as the game wore on and Forster made excellent blocks from Messi and Alexis Sanchez while substitute David Villa also hit the post.
But the resistance finally gave way in the 94th minute as Alba at the far post knocked in a right wing cross.