The Real Madrid forward won the award, handed out by magazine France Football, for the second consecutive year having led his side to the La Liga title with 25 goals and a successive Champions League crown, netting 12 goals including two in the 4-1 win over Juventus in the final.
Ronaldo collected the trophy in a glitzy ceremony at the Eiffel Tower in the French capital, presented by former France player David Ginola.
Messi came second while Paris St Germain forward Neymar Jr, the most expensive player in the world, came third; veteran Italian goalkeeper Gianluigi Buffon finished fourth and Real midfielder Luka Modric came fifth.
Chelsea and France midfielder N’Golo Kante was the highest ranked Premier League player, coming eighth, while Tottenham Hotspur’s Harry Kane, ranked 10th, was the only English player to make it into the top 10.
Ronaldo, who this year also helped the national side qualify for the World Cup in Russia next year, won his first Ballon d’Or in 2008 while with Manchester United and collected it again in 2013, 2014 and 2016.
The 32-year-old was last month named the Best FIFA Men’s Player in the global soccer body’s own awards ceremony.
The Ballon d’Or was first awarded in 1956 and was partnered with FIFA from 2010 to 2015, until becoming its own entity once again.
(Reporting by Richard Martin; Editing by Christian Radnedge)