The Portugal international has enjoyed a stellar 2017, scoring 44 goals in all competitions for club and country on the way to winning the La Liga title and the Champions League.
Ronaldo scored twice in the final against Juventus as Real beat Juventus 4-1 to win their 12th title in Cardiff. The 32-year-old fought off competition from Messi and the world's most expensive player Neymar of Paris Saint-Germain to win the award which was voted for by supporters, current players and managers and select members of the media.
"Thanks for voting for me," the former Manchester United forward said. "I want to mention Leo and Neymar to be here. Real Madrid supporters, my teammates, my coach, they support all the year so I have to say thank you to them.
"I'm really glad. This is a great moment for me. I know I have fans all over the world so thank you for the support. I appreciate that. And I think I say everything. It's great to be here around these great players, this amazing player and I'm so happy guys. Thank you everybody and good night."
Elsewhere, the Premier League earned rare recognition when Olivier Giroud's 'scorpion kick' goal against Crystal Palace in a 2-0 Premier League win at The Emirates Stadium scooped the Ferenc Puskas award for goal of the year.
"Thank you very much," said the France striker after receiving an award voted for by the general public in an online poll. "It's an honour for me and I'm delighted to receive this trophy in front of legends of football. Thank you to the people who voted for me. I would like to congratulate the nominees who scored amazing goals. I would like to dedicate this trophy to my dad."
However, it was a night which was largely dominated by La Liga and in particular the 12-time European champions Real. Coach Zinedine Zidane was named coach of the year for the second straight year after guiding Los Blancos to the Spanish title, while they also became the first side to retain the European Cup in the Champions League era.
"Thank you very much, this is a very special honour," said the French World Cup winner from 1998, who beat Chelsea's Antonio Conte and Juventus' Max Allegri to the prize. "I would like to thank all of my players who made this possible."
Five of Zidane's players were named in the Fifa Fifpro world 11 for 2017, with individual winner Ronaldo joined by full-back Marcelo, captain Sergio Ramos and midfielders Toni Kroos and Luka Modric. Gianluigi Buffon, who was also named best goalkeeper, was joined by former Juventus teammates Dani Alves and Leonardo Bonucci, while Barcelona duo Messi and Andres Iniesta completed the team alongside Neymar.
Sarina Wiegman was rewarded for guiding Netherlands' women to the 2017 European Championships by being named the women's coach of the year. "Thank you for this award, it's a great recognition," she said. "Without this team and staff, we would not have achieved winning the European championship. Thank you to my whole family, they're all so supportive."
Lieke Martens scored three times as the Dutch scooped the title, a showing which saw her crowned the best women's player. "Thank you very much everyone," the 24-year-old stated. "I want to thank all my team-mates, without you I couldn't achieve this. Of course my family is a very big part of it. To dad and mom, this one is also for you. Thank you very much!"
Meanwhile, Celtic's tribute to the Lisbon Lions 50 years on from their famous European Cup victory saw them given the fan award. Francis Kone was awarded with the fair play prize after saving the life of goalkeeper Martin Berkovec during a Czech First Division match back in February.