Barcelona and Argentina forward Lionel Messi is the world’s highest paid athlete, earning $127m (£99.8m) in the past 12 months, according to the Forbes top 100 ranking.
Juventus’s Portugal forward Cristiano Ronaldo is second on $109m (£85.6m) with Paris St-Germain’s Brazil forward Neymar in third on $105m (£82.5m).
Last year’s highest earner, boxer Floyd Mayweather, has dropped off the list.
Serena Williams is the only woman in the top 100, earning $29.2m (£22.9m).
Five-time Formula 1 world champion Lewis Hamilton and former heavyweight world champion Anthony Joshua are the highest earning British athletes, sitting at 13th on $55m (£43.2m).
The American business magazine calculated the athletes’ earnings by adding up their prize money, salaries and endorsements between June 2018 and June 2019.
The top 100 includes athletes from 25 countries and their $4bn (£3,1bn) combined earnings are up 5% from the previous year, when Mayweather was first with $285m (£224m).
The American boxer’s only fight since August 2017 was an exhibition boxing bout against Japanese kickboxer Tenshin Nasukawa in December.
Athletes had to earn a minimum of $25m (£19.6m) to make this year’s list.
Messi is only the second footballer to top the rankings after Ronaldo, and only the eighth different athlete to take the number one spot since the rankings began in 1990.
It is also the first time that footballers have ranked as the top three earners in sports.
Messi is one of 38 non-American athletes on the list, with 62 US stars in the top 100.
The NBA accounted for the most athletes with 35, with LA Lakers’ LeBron James the sport’s highest paid athlete in eighth on $89m ahead of Golden State Warriors pair Stephen Curry (9th on $79.8m) and Kevin Durant (10th on $65.4m).
1. Lionel Messi $127m (£99.8m)
2. Cristiano Ronaldo $109m (£85.6m)
3. Neymar $105m (£82.5m)
4. Canelo Alvarez $94m (£73.8m)
5. Roger Federer $93.4m (£73.3)
6. Russell Wilson $89.5m (£70.3m)
7. Aaron Rodgers $89.3m £70.1m)
8. LeBron James $89m (£69.9m)
9. Stephen Curry $79.8m (£62.7m)
10, Kevin Durant $65.4m (£51.3m)