The Ballon d'Or is voted for by 180 journalists from around the world, although there was no award in 2020 because of the coronavirus pandemic.
Either Messi or Cristiano Ronaldo (five wins) collected the award every year from 2008 to 2019, apart from in 2018 when Croatia midfielder Luka Modric won it.
Messi had already won the trophy more times than any other player and his seventh success comes after wins in 2009, 2010, 2011, 2012, 2015 and 2019.
"It's incredible to be here again," he said at the ceremony, held at Paris's Theatre du Chatelet.
"Two years ago I thought it was the last time. People were starting to ask me when I was going to retire but now I'm here in Paris and very happy.
"It's a special year for me with this Copa America title. It meant a lot to win [1-0 against Brazil in the final] at the Maracana stadium and I was so happy to celebrate with the people from Argentina.
"I don't know if it's the best year of my life - I've had a long career - but it was a special one with the title with Argentina after the tough times and the criticism."
Messi also had warm words for the runner-up, 33-year-old Poland captain Lewandowski.
"I wanted to say to Robert that it was an honour to go up against him," said Messi. "He deserved to win it last year."
Lewandowski scored 53 goals in all competitions in 2021 for Bayern and was awarded the Striker of the Year prize, a new award that was only announced hours before the ceremony began.
Paris St-Germain's Gianluigi Donnarumma, who helped Italy win Euro 2020, won the Yashin Trophy for best goalkeeper, while Champions League winners Chelsea were named Club of the Year.
Barcelona midfielder Pedri, 19, won the Kopa Trophy for the best player aged under 21, with England internationals Jude Bellingham, Mason Greenwood and Bukayo Saka coming second, fifth and sixth respectively.
Fourteen of the 30 players shortlisted for the Ballon d'Or currently play in the Premier League.
Chelsea had five players represented, with third-placed Jorginho joined by N'Golo Kante in fifth, Romelu Lukaku in 12th, Mason Mount in 19th and Cesar Azpilicueta, who tied for 29th.
Premier League champions Manchester City had the same number as Kevin de Bruyne came eighth, Raheem Sterling 15th, Riyad Mahrez 20th, Phil Foden 25th and Ruben Dias 26th.
Manchester United pair Ronaldo and Bruno Fernandes were sixth and tied for 21st respectively, Liverpool's Mohamed Salah was seventh and Tottenham's Harry Kane 23rd.Back