Barcelona dominated possession, hit the bar and the post and had what looked like a certain goal cleared off the line at a rain-lashed Stamford Bridge.
The Spaniards had 24 attempts on target compared to one by the hosts but Ivorian Drogba made the most of his sight of goal when he fired low and hard past Barca goalkeeper Victor Valdes two minutes into stoppage time at the end of the first half.
"We created so many chances, I had no idea we were going to do that, but we failed to score against a very good side who were very strong," Barcelona manager Pep Guardiola told a news conference.
"You have to be a strong side to be in the semi-finals of the Champions League. We knew it was going to be a tough challenge and it was."
Frank Lampard, who like Drogba, John Terry and Ashley Cole, have all been rejuvenated since Roberto Di Matteo took control of the side from the sacked Andre Villas-Boas in early March, began the move after winning the ball from a hesitant Messi close to halfway.
Lampard's raking pass found Brazilian Ramires whose low cross from the left eluded the Barca defenders with Drogba pouncing at the far post to score.
Di Matteo was full of praise for Chelsea's "old guard", who followed up last weekend's 5-1 thrashing of Tottenham Hotspur in the FA Cup semi-finals.
"In the past a lot public opinion said that these boys, the old guard, are over the line and too old to play two games; they have played two games in a short period of time, and I think they gave the answer on the pitch tonight."
However, before and after the goal, Barca were the dominant force with Messi orchestrating most of their attacking moves, but for all his inspired brilliance, he was unable to conjure up a goal either for his team-mates or himself.
The Argentine forward, who has scored 63 goals for Barca this season, has now failed to score in seven matches against Chelsea.
Although this match was about far more than records and statistics, some telling numbers did emerge after a rainswept night in West London.
The defeat was only Barcelona's third loss in 63 games this season and they have now failed to beat Chelsea in the last six matches against them and the Londoners are now unbeaten in 14 matches, home and away against Spanish opposition.
Those figures could all have been very different if Barcelona had scored just once from the many chances they created.
Back in London almost 11 months after beating Manchester United at Wembley last May to lift the European Cup, Barca began as if they had no intention of letting Chelsea into the match at all.
Barcelona, bidding to become the first club since AC Milan 22 years ago to lift the European Cup in successive seasons, took a grip of the game almost from the kickoff and went close to taking the lead after 10 minutes when Andres Iniesta's ball over the top found Alexis Sanchez onside and in space 15 metres from goal.
His well-executed chip beat goalkeeper Petr Cech but Chelsea escaped when the ball bounced back off the bar and was cleared.
Chelsea made their intentions known early on, trying to exploit a perceived weakness in the Barca defence by playing quick balls through the middle to Drogba. He twice ran on to them but was let down by a poor first touch both times.
But that tactic did pay dividends for the goal - just after Barcelona had fluffed another good scoring chance four minutes earlier when Messi went on a jinking run through the Chelsea defence before teeing up Cesc Fabregas with a shot that looked goalbound until Fabregas's former Arsenal team-mate Ashley Cole cleared the ball off the line.
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1