Ballon d'Or winner Ronaldo moved to tears
The Portugal international becomes the first Real Madrid player to win the title since Brazilian Ronaldo in 2002.
There were 184 national team coaches and captains given a vote, with 173 media representatives also able to nominate their choices to decide who would win the award.
Ronaldo saw off competition from former winner Messi and Bayern forward Ribery to receive 1,365 points, with the Argentina international coming second on 1,205 points, while the Frenchman claimed 1,127 points.
The 28-year-old scored 69 goals for club and country in 2013, more than both of his closest competitors combined, and becomes the first Portuguese to win the trophy on two separate occasions.
"First of all I have to say a great thanks to all of my team-mates with the club and the national team," an emotional Ronaldo said at Monday's ceremony in Zurich.
"Without all of their efforts this would not have been possible. I am very happy, it is very difficult to win this award.
"Everybody that has been involved with me on a personal level I have to thank.
"My wife, my friends, my son. It is a tremendously emotional moment. All I can say is thank you to everybody that has been involved."
Germany goalkeeper Nadine Angerer lifted the women's World Player of the Year award for the first time ahead of Marta and Abby Wambach.