Cameroon international Eto’o struck after ten minutes and Messi added the second with a superb header 20 minutes from time. United can have no complaints as they failed to find their usual fluency and defended hesitantly with many of their key performers well below-par.
Barcelona lifted the trophy for the third time in their history and matched United’s own treble in 1999 as Pep Guardiola’s men added Europe’s premier competition to domestic League and Cup success.
The Catalan club scored with their first real attack after United started in electric fashion. Andres Iniesta got past Anderson too easily and found Eto’o who cut inside Nemanja Vidic and toe poked the ball under Edwin van der Sar from close range.
Until then it had been all United.
After just two minutes Cristiano Ronaldo’s 30-yard effort bounced viciously in front of Victor Valdes who spilled the effort and it required a superb block by former United defender Gerard Pique to deny Park Ji-sung a tap-in.
The Portuguese then volleyed just wide from 16 yards before United fell behind with Serb Vidic, named Barclays player of the year earlier in the day, culpable with a lacklusture challenge.
Ronaldo looked to get his side back on terms and his run through on goal was ended by a Pique block for which he received a yellow card.
But Barca then began to boss the game and Messi came to the fore with a scorching drive just missing the top corner with Van der Sar beaten before Xavi curled a free-kick just over the top.
It was the 11th effort on goal in a frenetic opening half-hour.
United had an escape on the brink of half-time when Van der Sar spilled a low cross from Messi but there was no-one at the near post to capitalise and Sir Alex Ferguson gambled at the interval by replacing the ineffective Anderson with Carlos Tevez.
But Barca relished the extra space in midfield and twice came close to extending their advantage. Iniesta sent Thierry Henry away down the left, in a big hole vacated by John O’Shea, and he turned Rio Ferdinand inside out before seeing his shot saved by the legs of Van der Sar.
Then a surging run from Iniesta was ended a yard outside the penalty area by Vidic and Xavi curled the resulting free-kick around the wall and against the post.
United did regroup however and Ronaldo swung in a cross from the right which Yaya Toure completely missed only for the ball to bounce off the hard pitch and over the head of the unmarked Park six yards out.
Park was then replaced by Dimitar Berbatov as Ferguson threw caution to the wind with a 4-2-4 formation only to concede a second.
Patrice Evra hooked his clearance aimlessly to Xavi who picked out an unmarked Messi and the little Argentine climbed high to guide the ball past Van der Sar and into the far corner for his first goal against an English club.
United should have pulled a goal back almost immediately as the ball fell to Ronaldo at the far post only for Valdes to smother his shot.
Paul Scholes replaced Giggs and he was booked along with Ronaldo as United chased the game with the Premier League champions almost conceding a third when Carles Puyol’s thumping header was saved by Van der Sar before the advancing Dutchman saved a shot from the Barca captain after the best move of the match.
Berbatov headed over from close range late on but there was no way back for United who failed in their bid to become the first team since Milan in 1990 to retain the European crown.
Victory for Barca also ended United’s record 25-match unbeaten run in the competition and give them their first ever defeat in a European final.