He earned a $275m (£205m) for his boxing match in August against UFC star Conor McGregor, who is number four on the US business magazine's list.
Messi has edged out Ronaldo in this year's latest list of top 100 earning athletes in the world.
Cristiano Ronaldo - top for the past two years - drops to third, with Lionel Messi edging him out of second place.
The top 100 athletes earned a total of $3.8bn, up 23% from last year, Forbes said.
F1 driver Lewis Hamilton is the top Briton at number 12 with $51m.
Mayweather - one of whose nicknames is Money - saw his sports earnings added to by $10m from endorsements.
"Boxing's biggest night of 2017 helped Mayweather and McGregor earn nearly $400m combined," said Kurt Badenhausen, senior editor at Forbes Media.
"But basketball players dominate the top 100 overall thanks to a soaring salary cap triggered by the NBA's $24bn TV contract."
The top 10
1. Floyd Mayweather - boxing ($285m)
2. Lionel Messi - football ($111m)
3. Cristiano Ronaldo - football ($108m)
4. Conor McGregor - mixed martial arts ($99m)
5. Neymar - football ($90m)
6. LeBron James - basketball ($85,5m)
7. Roger Federer - tennis ($77.2m)
8. Stephen Curry - basketball ($76.9m)
9. Matt Ryan - American football ($67.3m)
10. Matthew Stafford - American football ($59.5m)
Comments