Ronaldo, 32, spearheaded Madrid’s La Liga and Champions League double in 2017, scoring 42 goals in 46 games as he won Europe's most prestigious competition for the fourth time.
"This is something I look forward to every year," Ronaldo said at the ceremony in Paris.
"Thanks to my Real Madrid teammates. And I want to thank the rest of the people who helped me reach this level."
Messi came second, while Paris Saint-Germain forward Neymar came third in the standings.
Ronaldo, who won the Ballon d’Or in 2008, 2013, 2014 and 2016, was joined by six Real Madrid team-mates in the top 25 places, with Luka Modric fifth, Sergio Ramos sixth, Isco 12th, Marcelo 16th, Toni Kroos 17th and Karim Benzema 25th.