The 28-year-old Indian star player is placed at the seventh spot with a brand value of $14.5 million, compared to Messi's $13.5 million.
American golf legend Tiger Woods is placed one spot above Virat at the sixth position with a brand value of $16.6 million.
Lawn Tennis ace Roger Federer tops the list with a brand value of $37.2 million, followed by basketball star LeBron James with $33.4 million and Usain Bolt with $27 million.
Top ten most valuable athletes:
1. Roger Federer $37.2m
2. LeBron James $33.4m
3. Usain Bolt $27m
4. Cristiano Ronaldo $21.5m
5. Phil Mickelson $19.6m
6. Tiger Woods $16.6m
7. Virat Kohli $14.5m
8. Rory McIlroy $13.6m
10. Stephen Curry $13.4m
Kohli's phenomenal success in the last two years has seen his brand value move above, especially after he took over the captaincy from Dhoni in all formats earlier this year.
He recently surpassed Australian cricketer Ricky Ponting in the list of batsmen with most ODI hundreds after he hit his 31st ton in the format in the first ODI against New Zealand in Mumbai.
The 3-0 Test series whitewash in Sri Lanka made Kohli the only Indian captain to register two series wins in the island nation.
Kohli took over as India captain across formats in January 2017 and has guided the team to the top spot in the ICC Test Rankings.