Messi earned $127m (ÂŁ100m) in the last 12 months, compared to Ronaldo’s $109m (ÂŁ86m), according to Forbes magazine.
Another footballer, Paris Saint-Germain’s Neymar, is third, with a salary and endorsements amounting to $105m (ÂŁ83m).
In fifth is tennis legend Roger Federer, with earnings of $93.4 (ÂŁ73.4m).
There is also a boxer, Canelo Alvarez, two American footballers, Russell Wilson and Aaron Rogers, and three basketball players, LeBron James, Stephen Curry, and Kevin Durant in the top 10.
Serena Williams returned to the list at number 63, after it contained no women in 2018, with earnings of $29.2m (ÂŁ23m).
To get on this year’s ranking, an athlete needed to earn at least $25m (ÂŁ20m).
Ten different sports are represented, with American football, basketball and football following basketball in popularity.
While there are athletes from 25 different countries on the list, Americans take 62 of the places.
The UK has five athletes, France and Spain have three, while Brazil, Canada, the Dominican Republic, Germany, Serbia and Venezuela all have two.
The figures were calculated by including prize money, salaries and bonuses.
Forbes said endorsement incomes were an “estimate of sponsorships, appearance fees and licensing incomes based on conversations with dozens of industry insiders”
The magazine added: “We do not deduct for taxes or agents’ fees, and we don’t include investment income.”