Arsenal 1 Barcelona 2
The Gunners looked to have done enough to secure a victory that had looked extremely unlikely following the first-half dismissal of Jens Lehmann as Sol Campbell headed Arsene Wenger's side into a 37th minute lead.
But after battling on for more than an hour with 10 men, Arsenal eventually succumbed to some intense pressure and Barcelona fought back with two goals in five second-half minutes.
Arsenal settled first and could have gone ahead in the third minute as Thierry Henry was picked out in the box by Aleksandr Hleb but Victor Valdes smothered his low shot.
The Barcelona keeper then beat away another low drive from the Arsenal skipper 60 seconds later as the Gunners roared out of the blocks.
In the 18th minute the match looked to have turned in Barcelona's favour when Lehmann clipped the heels of Samuel Eto'o who had latched on to Ronaldinho's through ball and the referee produced a straight red card.
In truth the decision looked just as harsh on Barcelona as it was on the Gunners as Ludovic Giuly had already rolled the ball into the unguarded net only for the referee to pull back play for a free-kick.
And any frustration the newly-crowned Spanish champions felt was compounded 10 minutes later when Arsenal broke the deadlock.
Henry delivered a free-kick from the right and Campbell rose highest to nod home from eight yards amid some woeful marking from Edmilson and Presas Oleguer.
Eto'o could have fired Barcelona level on the stroke of half-time but, after rolling Campbell superbly in the box, his point-blank shot was somehow deflected on to the post by substitute keeper Manuel Almunia.
After the break Barcelona enjoyed the lion's share of possession but continued to struggle to find a way through a defence that prior to kick-off had not conceded a Champions League goal for over 900 minutes.
In a last throw of the dice, Barcelona coach Frank Rijkaard sent on Henrik Larsson and it was the arrival of the veteran striker that changed the complexion of the game.
Firstly the former Celtic man laid the ball off to Eto'o who steered a low shot between the keeper and the near post from six yards in the 76th minute to pull Barcelona level.
And then five minutes later the Swede – playing his last match in Barca colours – teed up full-back Juliano Belletti who squeezed a powerful shot under the body of Almunia from close range.
Arsene Wenger sent on Jose Antonio Reyes in the closing minutes but by that stage the Gunners looked a beaten side and it was left to Barcelona to play out time and wrap up their second ever European crown.