Neil Lennon's side enjoyed a fabulous win despite Lionel Messi's late consolation, Fraser Forster making several key saves in a remarkable Champions League upset
The hosts took a shock lead in the first period when Victor Wanyama headed in Charlie Mulgrew's superb corner, getting the better of Jordi Alba in the air.
Despite Barca pressure throughout, the Scots grabbed another late on when Tony Watt, the 18-year-old making his Champions League debut, latched on to a long ball, out-pacing Javier Mascherano before coolly slotting home into the far corner.
Barcelona got one back at the death through Lionel Messi when Fraser Forster turned away a Pedro strike from close range, the Argentina international following up to lash home, but it was not enough.
Celtic manager Neil Lennon made four changes to the team that drew with Dundee United in their last outing, drafting in Efe Ambrose, Mikael Lustig, Miku and Georgios Samaras into the side for Emilio Izaguirre, Tony Watt, Thomas Rogne and Scott Brown, while striker Gary Hooper missed out altogether after failing to recover from a hamstring injury.
Barcelona boss Tito Vilanova also made four changes to the side that beat Celta Vigo at the weekend, with Daniel Alves, Marc Bartra, Alex Song and Alexis Sanchez coming into the side for Adriano, Sergio Busquets, Cesc Fabregas and David Villa.
In a cagey opening, the visitors struggled to create anything of note and Celtic took the lead in the 20th minute through a Wanyama header at the back post, the Kenyan beating Alba to reach Mulgrew's brilliant inswinging delivery.
This prompted a response from Barcelona and Messi struck the bar from just inside the area amidst a period of sustained pressure in the final third, while Alexis struck the foot of the post with a header from an Alves cross 10 minutes before the break.
After half-time, though, the game began to open up more, with Barcelona peppering the Celtic area with wave after wave of attack and Alexis bringing a terrific save out of Forster low to his right on the hour mark.
The constant probing and movement of Barcelona saw them carve open the hosts' defence in the 70th minute and Messi forced another fantastic stop out of Forster. Latching on to Alba's cut-back down the left, the Argentine hit a sweet strike towards the bottom right corner only to see the goalkeeper claw it away.
With the visitors piling on the pressure, it was Celtic who struck next in the 83rd minute when a long punt down field by Forster was missed by Xavi and Watt was through in on goal past Mascherano before rifling his strike into the bottom left-hand corner to hand his side a two-goal lead.
Barcelona weren't finished there, though, and they grabbed a goal back in the 90th minute through Messi after Forster parried a Pedro shot inside the six-yard box following an intricate, flowing move, leaving the forward to smash it high into the goal.
Nevertheless, despite some nervy moments late on with Barcelona flooding forward, Celtic were able to clinch the historic win in front of their own fans in what will go down as their best European result since winning the European Cup final back in 1967 against Inter.