The annual survey, conducted by France Football magazine, estimates Messi's earnings at £29.6 million, £2.3m ahead of Beckham.
Messi's salary is made up of a £9m basic wage, £3.6m in bonuses and a further £17.1m in personal endorsements. The Argentine has deals with companies including Adidas, Pepsi and Gillette.
Top-earning players in football:
5. Thierry Henry (Barcelona) £16.2m
10. Samuel Eto’o (Inter Milan) £12.4m