The scoreline was harsh on Chelsea, who created sustained spells of pressure but were unable to find the sort of cutting edge displayed by Messi and Ousmane Dembele, the home side's other scorer.
After Barcelona had monopolised the ball for the opening two minutes, they broke the deadlock in the third with the quickest strike of Messi's career..
It seemed Chelsea had cleared the initial danger when Messi tried a one-two with Dembele, but the ball broke to Luis Suarez, who freed Messi near the byline on the right and his low shot from a tight angle went through the legs of Thibaut Courtois.
Marcos Alonso was fouled on the left as Chelsea looked to muster a quick response, with Willian's low free kick deflecting into the side netting for a corner that came to nothing.
The visitors soon built again, this time down the right as Eden Hazard found Willian, whose cross was cleared by Samuel Umtiti with Olivier Giroud waiting.
Victor Moses won another free kick for Chelsea with a burst down the right but when Hazard clipped a ball into the box Antonio Rudiger was offside.
With a little over 10 minutes gone, Willian's low drive was held by Marc-Andre ter Stegen with Chelsea playing their full part in what was an open start.
Barcelona then embarked on another spell of possession but failed to do much with it as Suarez appealed in vain for a corner and then Messi, of all people, misplaced a pass.
But the Argentina captain burst into devastating life moments later, skipping away from Alonso and laying the ball across the box to Dembele, who smashed home his first Barcelona goal to make it 3-1 on aggregate after 20 minutes.
Courtois made a good stop when a lovely Andres Iniesta backheel gave Suarez the chance to shoot, and soon afterwards Cesar Azipilicueta had a chance to swing a cross towards Giroud but put it too close to Ter Stegen.
A Messi free kick almost found Gerard Pique at the near post but he was just unable to find a telling touch, and then Moses overran the ball on the right after good work to win it back.
With 10 minutes remaining until the break Ter Stegen was called into action when Willian set up Alonso to fire in a shot before N'Golo Kante and Cesc Fabregas almost got in each other's way inside the area and the former's swiped shot flew wide.
In the final minute of the first half, Chelsea were agonisingly close to pulling one back when Giroud was fouled on the edge of the area and Alonso's free kick hit the outside of the post with Ter Stegen beaten.
Moses won Chelsea a corner in the opening moments of the second and, when it was cleared, Willian fired in an effort from that crashed back off a defender.
Seconds later Courtois erred again when his loose pass out of his own area was picked off by Suarez but the keeper recovered to block his shot.
Hazard and Giroud combined to set up Alonso but Dembele tracked back to make a superb interception as the Chelsea man seemed poised to shoot at goal.
Alonso then went down in the area under pressure from Pique after Willian had played him in, but the referee waved away Chelsea penalty appeals with Giroud booked for his furious protests.
Antonio Conte's side were asking all the questions and Barca boss Ernesto Valverde responded with the first change of the night, bringing on Paulinho for Andres Iniesta with Messi taking on the captain's armband.
Willian ran at the heart of the Barcelona defence but Giroud was unable to read his final pass and then the home side were forced into another change as Sergio Busquets picked up a knock and was replaced by Andre Gomes.
Pique made a brave block as Alonso blasted the ball in from the left of the area -- and within seconds of his intervention, the tie was over.
Barcelona broke and Suarez fed Messi, who raced into the area and sent another angled shot whistling through Courtis' legs for his 100th Champions League goal.
Dembele made way for Aleix Vidal as Barcelona completed their set of changes, Conte making two as Giroud was replaced by Alvaro Marata and Moses came off for Davide Zappacosta.
Alonso was booked for a high challenge on Paulinho as Chelsea's frustrations began to show, and Courtois pushed away a Messi free kick as the Barca talisman looked for a hat trick.
Conte made his final substitution, Hazard making way for former Barcelona player Pedro, and as the game headed towards the final whistle Courtois made a fine save from Paulinho and Rudiger headed against the bar for Chelsea.