Didier Drogba's injury-time equaliser gave Chelsea a precious Champions League point after an ill-tempered encounter against Barcelona.
Drogba's superb finish left Barcelona stunned
Eidur Gudjohnsen looked to have sent his old club crashing to defeat with a close-range finish after 57 minutes.
Frank Lampard's brilliant angled chip six minutes earlier had equalised Deco's early strike from 20 yards.
But Drogba pounced with seconds left as a clash that contained 10 yellow cards ended with Chelsea clinching a draw.
Chelsea are now on the brink of qualification for the group stage, but holders Barcelona are in danger from Group A rivals Werder Bremen.
Andriy Shevchenko failed to recover from a thigh injury, allowing Arjen Robben to make a starting appearance.
And Chelsea suffered another blow in the third minute as Barcelona took the lead, courtesy of a brilliant strike from Deco.
The Portugal midfield man was allowed time and space on the left flank, and made Chelsea pay the price by cutting in and sending a searing right-foot finish past Hilario.
Lionel Messi then created a chance for Ronaldinho, but the Brazilian was off target.
Given the history of acrimony between the teams, it was no surprise that the first 45 minutes was littered with petty clashes that made life difficult for referee Stefano Farina.
Rafael Marquez appeared to push Didier Drogba to the floor, and players on both sides seemed intent on settling personal scores.
But between the spats there were moments of quality, and Hilario came to Chelsea's rescue after 20 minutes, saving brilliantly from Xavi after he exchanged passes with Ronaldinho.
Chelsea had opportunities of their own, with Michael Essien and Robben having efforts well saved by Victor Valdes.
They had a scare after 37 minutes when Ashley Cole was booked for fouling Deco.
It appeared Cole had already been given a yellow card earlier for dissent, but referee Farina made it clear that booking had been for Lampard, despite pressure from Barcelona's players.
Lampard's yellow card rules him out of Chelsea's testing visit to Werder Bremen.
Chelsea opened the second half with a real statement of intent, with Robben having a header saved, then blazing a perfect Lampard cross over the top with only Valdes to beat.
Lampard then capped the spell of Chelsea pressure with a remarkable equaliser after 51 minutes.
He looked to have lost control of Essien's cross, but then turned and lifted the ball over Valdes from the tightest of angles.
Chelsea only stayed on terms for six minutes, before Ronaldinho demonstrated his magic to set up Gudjohnsen.
Ronaldinho evaded Khalid Boulahrouz easily on the left flank, then glided in a cross with the outside of his right foot for the Icelander to turn home from close range.
But Gudjohnsen's night ended in agony when he was stretchered off with 15 minutes left after falling awkwardly in a challenge with Ricardo Carvalho.
As time ran out, Drogba stole in on John Terry's header to turn Rafael Marquez with a touch on his chest to beat Valdes and send Chelsea boss Jose Mourinho into ecstatic celebration on the touchline.
Barcelona: Valdes, Zambrotta, Marquez, Puyol, Van Bronckhorst, Xavi (Iniesta 83), Motta (Edmilson 57), Deco, Messi, Gudjohnsen (Giuly 77), Ronaldinho.
Subs Not Used: Jorquera, Belletti, Thuram, Saviola.
Booked: Messi, Motta, Gudjohnsen, Edmilson.
Goals: Deco 3, Gudjohnsen 58.
Chelsea: Hilario, Boulahrouz (Joe Cole 75), Ricardo Carvalho, Terry, Ashley Cole, Essien, Makelele, Ballack (Paulo Ferreira 90), Lampard, Drogba, Robben (Kalou 73).
Subs Not Used: Cudicini, Geremi, Bridge, Wright-Phillips.
Booked: Lampard, Robben, Ashley Cole, Joe Cole, Terry, Essien.
Goals: Lampard 52, Drogba 90.
Ref: Stefano Farina (Italy).