Celtic produced a performance full of heart and tactical discipline but lost out to an injury-time Jordi Alba goal.
The visitors led after the presence of Georgios Samaras helped force Javier Mascherano to divert a Charlie Mulgrew free-kick into his own net.
Barcelona were not at their best, but produced a moment of sheer class to allow Andres Iniesta to equalise.
Celtic stood firm in the face of relentless pressure until the dying seconds when Alba stole in to score.
It was incredibly cruel on Celtic, who were outstanding to a man.
They remain second in Champions League Group G but now trail Barcelona, who maintain their 100% record, by five points. Spartak Moscow, who beat Benfica earlier in the day, are a point behind Neil Lennon's side with the Portuguese side bottom with a single point.
It had looked ominous for the visitors as early as the second minute when Barcelona sliced through their defence for the first time, Iniesta providing the killer ball, only for Alexis Sanchez to dink the ball wide of Fraser Forster's right-hand post.
That apart though, Celtic began the match comfortably, coping well with the constant passing and movement of the Catalan side.
Forster's first major test came 17 minutes in, and he dealt with it brilliantly.
Lionel Messi floated the ball over the Celtic defence, Iniesta turned it across goal where Marc Bartra flashed a header on target, only for the giant Celtic keeper to push it away.
Celtic's opener silenced the home crowd
And moments later, Celtic shocked the hosts by moving in front.
A Mulgrew free-kick from the right was attacked by Samaras, but it was Mascherano who inadvertently knocked the ball past a static Victor Valdes.
Barca had dominated possession, but Celtic's organisation was superb and there was almost half an hour gone before the home side fashioned another decent chance.
Again Iniesta was the source, but his chip was headed wide by Bartra.
Then, as the Barcelona pressure grew in intensity, Kelvin Wilson threw himself in the way of a Xavi drive to divert it over the bar and Adriano Correia tested Forster at his near post from the resulting corner.
Messi, by his own high standards, was having a quiet game but worried Forster with a couple of free-kicks that curled inches off target.
Celtic were dealt an enormous blow just before the break as Samaras was forced off, having rolled his ankle as he was fouled contesting a high ball.
And his replacement James Forrest had not touched the ball before Barca drew level in exquisite fashion.
Messi found Iniesta just inside the box and a lightning-quick one-two with Xavi allowed Iniesta to direct the ball just out of Forster's reach and inside his left-hand post.
The timing of the equaliser was tough on Celtic, who had executed their manager's tactical instructions almost to perfection.
They nearly moved back in front seven minutes after the interval.
Again, the opportunity arose from a Mulgrew set-piece - this time a corner from the right - but Victor Wanyama failed to test Valdes from an excellent position.
Celtic lost the tenacity of Scott Brown with just over an hour gone, his long-term hip problem seemingly taking its toll once more.
Soon after, Forster held efforts from both Messi and then Iniesta from outside the box as Barcelona upped the ante yet further.
Midway through the second half, Alexis Sanchez fed Pedro Rodriguez on the right of the Celtic box and when his low cross found Messi on the six-yard box, a second Barca goal seemed inevitable, but Forster stuck out a hand and somehow denied the Argentine.
The Celtic keeper was performing heroically and he was swiftly off his line to deny Alexis before an unbelievable flying save kept Messi's diving header from finding the back of the net.
Celtic were becoming more and more hemmed in, but a wayward Xavi effort told the story of Barcelona's increasing frustration as time ticked away.
Barca substitute David Villa struck a post late on as it appeared Celtic would hold on, but in the fourth minute of injury time, Alba sneaked in at the back post to knock Adriano's cross past the helpless Forster from just a yard out.
Despite the bitter pang of disappointment, Celtic can be hugely proud of their side's display ahead of the return fixture against Tito Vilanova's side in Glasgow on 7 November.
Full Time The final whistle is blown by the referee.
Assist by Claro Adriano.
90:00 +3:21 Goal scored
Goal - Ramos Jordi Alba - Barcelona 2 - 1 Celtic Ramos Jordi Alba grabs a goal from close in to the bottom left corner of the goal. Barcelona 2-1 Celtic.
The ball is swung over by Claro Adriano,
The ball is sent over by Ramos Jordi Alba.
90:00 +1:46 Booking
Booking James Forrest receives a caution.
David Villa produces a right-footed shot from the edge of the area and hits the post.
The ball is delivered by Ramos Jordi Alba, clearance by Kelvin Wilson. Inswinging corner taken by Hernandez Xavi, clearance made by Kelvin Wilson.
Cristian Tello takes a shot. Efe Ambrose gets a block in. Claro Adriano takes a shot from just outside the penalty area which clears the crossbar.
Effort from long distance by Hernandez Xavi goes wide right of the goal.
Cristian Tello produces a cross, clearance made by Kelvin Wilson.
Outswinging corner taken left-footed by Lionel Messi from the left by-line to the near post, Mikael Lustig manages to make a clearance.
Cristian Tello produces a cross, clearance by Efe Ambrose.
Corner taken by Lionel Messi.
Joe Ledley takes the direct free kick.
Substitution David Villa joins the action as a substitute, replacing Alexis Sanchez.
Booking Claro Adriano is shown a yellow card for unsporting behaviour.
Joe Ledley fouled by Claro Adriano, the ref awards a free kick.
The ball is swung over by Cristian Tello, Emilio Izaguirre gets a block in.
Substitution Beram Kayal joins the action as a substitute, replacing Charlie Mulgrew.
Substitution Cristian Tello joins the action as a substitute, replacing Rodriguez Pedro.
Outswinging corner taken right-footed by Hernandez Xavi, Kelvin Wilson makes a clearance.
Lionel Messi takes a shot. Fraser Forster makes a brilliant save.
Ramos Jordi Alba takes a shot. Save by Fraser Forster.
Unfair challenge on Mikael Lustig by Ramos Jordi Alba results in a free kick. Mikael Lustig takes the free kick.
Lionel Messi delivers the ball, clearance by Kelvin Wilson.
Direct free kick taken by Victor Wanyama.
Booking Booking for Javier Mascherano for unsporting behaviour.
Free kick awarded for a foul by Javier Mascherano on Kris Commons.
Drilled right-footed shot by Hernandez Xavi. Blocked by Joe Ledley.
Kris Commons is ruled offside. Free kick taken by Javier Mascherano.
Centre by Rodriguez Pedro, Lionel Messi takes a shot. Fraser Forster makes a fantastic save.
Andres Iniesta takes a shot. Save by Fraser Forster.
Shot by Lionel Messi. Save by Fraser Forster.
Shot from 18 yards from Lionel Messi. Blocked by Kelvin Wilson. Hernandez Xavi decides to take a short corner.
The ball is sent over by Mikael Lustig, Victor Valdes makes a save.
Kris Commons delivers the ball, Claro Adriano makes a clearance.
Short corner worked by Lionel Messi.
Substitution Kris Commons is brought on as a substitute for Scott Brown.
Lionel Messi produces a cross, Efe Ambrose gets a block in.
Free kick awarded for an unfair challenge on Javier Mascherano by Gary Hooper. Javier Mascherano takes the direct free kick.
Short corner taken by Ramos Jordi Alba from the left by-line.
Free kick awarded for an unfair challenge on Rodriguez Pedro by Joe Ledley. Free kick taken by Marc Bartra.
Centre by James Forrest.
Short corner taken by Hernandez Xavi from the right by-line. Claro Adriano takes a shot. Save by Fraser Forster.
The ball is sent over by Rodriguez Pedro, Efe Ambrose manages to make a clearance.
Centre by Lionel Messi.
Mikael Lustig crosses the ball, Ramos Jordi Alba gets a block in. Corner taken by Charlie Mulgrew from the right by-line, Header by Efe Ambrose from deep inside the penalty area misses to the left of the target.
Lionel Messi takes a shot from just outside the penalty area clears the crossbar.
Free kick awarded for a foul by Alexis Sanchez on James Forrest. Charlie Mulgrew produces a strike on goal direct from the free kick. Scott Brown produces a right-footed shot from just outside the area that goes harmlessly over the bar.
The ball is delivered by Alexis Sanchez, Efe Ambrose gets a block in.
Alexis Sanchez gives away a free kick for an unfair challenge on Mikael Lustig. Fraser Forster takes the free kick.
The match restarts for the second half.
45:00 +2:08 Half time
Half Time The whistle is blown to end the first half.
Effort from the edge of the penalty box by Lionel Messi goes wide of the right-hand upright.
The assist for the goal came from Hernandez Xavi.
44:38 Goal scored
Goal - Andres Iniesta - Barcelona 1 - 1 Celtic Andres Iniesta gets on the score sheet with a goal from inside the box to the bottom right corner of the goal. Barcelona 1-1 Celtic.
Direct free kick taken by Kelvin Wilson.
Substitution Georgios Samaras leaves the field to be replaced by James Forrest.
Free kick awarded for a foul by Alex Song on Gary Hooper.
Free kick awarded for an unfair challenge on Georgios Samaras by Claro Adriano. Free kick crossed left-footed by Emilio Izaguirre from left wing.
Free kick awarded for a foul by Andres Iniesta on Kelvin Wilson. Fraser Forster takes the direct free kick.
Efe Ambrose gives away a free kick for an unfair challenge on Lionel Messi. Lionel Messi produces a strike on goal direct from the free kick.
Foul by Gary Hooper on Javier Mascherano, free kick awarded. Javier Mascherano restarts play with the free kick.
Alexis Sanchez crosses the ball, Effort from the edge of the penalty box by Hernandez Xavi goes wide of the right-hand upright.
Victor Wanyama gives away a free kick for an unfair challenge on Alexis Sanchez. Alexis Sanchez takes the free kick.
Hernandez Xavi takes a shot. Blocked by Efe Ambrose. Short corner worked by Hernandez Xavi. Shot from 20 yards from Alexis Sanchez. Save by Fraser Forster.
Unfair challenge on Scott Brown by Alexis Sanchez results in a free kick. The ball is delivered by Charlie Mulgrew,
The ball is crossed by Claro Adriano. Alexis Sanchez decides to take a short corner, A cross is delivered by Andres Iniesta. Close range header by Marc Bartra misses to the right of the target.
Georgios Samaras concedes a free kick for a foul on Alex Song. Alex Song takes the free kick.
Ramos Jordi Alba is caught offside. Fraser Forster takes the free kick.
Alexis Sanchez takes a shot. Efe Ambrose gets a block in.
Corner taken short by Hernandez Xavi.
Lionel Messi fouled by Scott Brown, the ref awards a free kick. Strike on goal comes in from Lionel Messi from the free kick.
Rodriguez Pedro delivers the ball.
The assist for the goal came from Charlie Mulgrew.
17:37 Goal scored
Goal - Georgios Samaras - Barcelona 0 - 1 Celtic Georgios Samaras finds the back of the net with a headed goal from inside the six-yard box. Barcelona 0-1 Celtic.
Free kick awarded for a foul by Alexis Sanchez on Scott Brown.
Rodriguez Pedro takes a shot. Blocked by Charlie Mulgrew. Floated corner taken by Hernandez Xavi from the left by-line. The ball is swung over by Andres Iniesta, Rodriguez Pedro takes a shot. Fraser Forster makes a save.
Alexis Sanchez decides to take a short corner.
Scott Brown concedes a free kick for a foul on Andres Iniesta. Andres Iniesta takes the free kick.
Hernandez Xavi decides to take the corner short.
The ball is sent over by Ramos Jordi Alba.
Scott Brown concedes a free kick for a foul on Alex Song. Alex Song restarts play with the free kick.
Hernandez Xavi decides to take the corner short.
Scott Brown gives away a free kick for an unfair challenge on Alexis Sanchez. Hernandez Xavi takes the direct free kick.
Alexis Sanchez has an effort at goal from deep inside the area missing to the left of the goal.
The referee starts the match.
Live text and data provided by The Press Association
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.