Messi became the first player to score in 16 consecutive Champions League seasons. Messi netted from the penalty spot in the first half for his 116th career goal in the competition as he handed his side the lead after he both won and converted a penalty, bringing up another milestone in his career.
Former Manchester United winger Ryan Giggs is the only other player to net in 16 Champions League seasons, though the run was not consecutive.
Ansu Fati, 17, contributed to two brilliant goals, volleying in one for himself and then setting up another for Philippe Coutinho.
Barca’s defensive frailties were never far away at Camp Nou and Gerard Pique was sent off before the hour for preventing Tokmac Nguen from finishing in the penalty area.
Ihor Kharatin converted the spot-kick but late goals from Pedri and Ousamane Dembele ended any hopes of a comeback and gave Barcelona some much-needed momentum ahead of Saturday’s Clasico in La Liga against Real Madrid.
“We go into it with the maximum motivation possible,” said Fati. “It’s a Clasico, a game I have always dreamed of playing in.”
A big win also puts them top of Group G but Pique’s red card means he will miss next week’s game away at Juventus, which had earlier beaten Dynamo Kiev.
That game in Turin will be a greater test of Barca’s capabilities under new coach Ronald Koeman but at least his players were smiling again, 67 days on from their 8-2 embarrassment in Lisbon.
Fati was the star, his goal making him the first player under the age of 18 to have scored twice in the Champions League. But it was a good night for Barcelona’s youngsters overall, as Francisco Trincao, preferred to Antoine Griezmann down the right, impressed, before another 17-year-old Pedri came on to score his first goal for the club.
It made Barca the first team ever to have two goalscorers aged 17 or younger in a Champions League fixture and it remains to be seen if Griezmann regains his place against Real Madrid this weekend.
“Griezmann didn’t play but that’s nothing to do with the Clasico,” said Koeman.
Juventus made a winning start in the Champions League as the side defeated Dynamo Kyiv 2-0 thanks to a pair of classic poacher’s goals from Alvaro Morata in their Group G opener on Tuesday.
Juve coach Andrea Pirlo enjoyed his first win as a manager in Europe’s elite club competition, which he won twice with AC Milan during his playing days as a midfielder.
With Cristiano Ronaldo ruled out following a positive test for COVID-19, Dejan Kulusevski was twinned with Morata up front and Federico Chiesa created some early chances for the visitors.
Manchester United got its Champions League campaign underway in emphatic style when Marcus Rashford’s late goal earned the side a 2-1 victory at Paris St. Germain (PSG) on Tuesday, handing the French champions their first group-stage home defeat in 16 years.
Chelsea was frustrated by a disciplined Sevilla as its opening Group E fixture in the Champions League ended in a cagey 0-0 draw at Stamford Bridge on Tuesday.