The Real Madrid and Portugal forward beat Barcelona's Lionel Messi and Paris St-Germain's Neymar to the honour.
Ronaldo, 32, helped Real to a Champions League-La Liga double in 2016-17.
Lieke Martens of Barcelona and the Netherlands won best female player, Real Madrid's Zinedine Zidane was named best men's coach and Netherlands' Sarina Wiegman the best female coach.
Arsenal's Olivier Giroud received the Puskas award for the best goal of 2017 for his 'scorpion kick' against Crystal Palace in January.
Celtic won the fan award after they honoured the club's 1967 'Lisbon Lions' with a stunning 360-degree card display on the 50th anniversary of their historic European Cup win.
Relive the awards ceremony
What's the difference between the Ballon d'Or and Best Fifa?
This is the second edition of the Best Fifa Football Awards, which are different to the Ballon d'Or.
A version of the Ballon d'Or has been awarded by France Football magazine since 1956, but world football's governing body has ended its association with that honour.
Instead, it introduced the Best Fifa Football Awards, with Ronaldo the first recipient of its main prize in January.
Voting for the player and coach categories was by national team captains and managers, selected journalists and, for the first time, an online poll of fans. Each counted for 25% of the total.
It has been another hugely impressive year for Ronaldo, who won the inaugural Best Fifa Football Awards gong on the back of leading Portugal to victory at Euro 2016.
This year he scored two goals in Real's 4-1 win over Juventus in the Champions League final and also found the net 25 times in 29 appearances as his club won La Liga for the first time in five years.
Best Fifa women's player - Lieke Martens
Martens, 24, was instrumental in the Netherlands' European Championship victory this summer, winning the player of the tournament accolade.
She saw off competition 2016 winner from Carli Lloyd of the United States and Deyna Castellanos, the 18-year-old Venezuela forward.
Fifpro World XI
Fifa made three changes to the side selected in 2016. Goalkeeper Gianluigi Buffon replaced Manuel Neuer, while AC Milan's Leonardo Bonucci replaced Barcelona's Gerard Pique in defence and PSG forward Neymar came in for Luis Suarez in attack.
The line-up featured five players from Real Madrid, two from Barcelona, two from PSG, one from Juventus and one from AC Milan. No Premier League players were included.
Image copyright . Fifpro World XI
Best men's coach
Real ended last season as the champions of Spain for the first time since 2012 and champions of Europe for the second successive season.
Zidane won the award ahead of Chelsea manager Antonio Conte, who lifted the Premier League title in his first season, and Juventus' Massimiliano Allegri, who led his team to a league and cup double in Serie A and Coppa Italia.
Best women's coach
Netherlands coach Wiegman led the Netherlands to the Euro 2017 title on home soil, playing excellent attacking football. It was their first major women's international tournament title after a thrilling victory over Denmark in the final.
Puskas award for best goal
The best goal of 2017 was, officially, scored by Arsenal's Giroud.
It came in the Premier League match against Palace on New Year's Day, the France forward converting a superb 'scorpion' kick volley in which he flicked an Alexis Sanchez cross from behind him over his shoulder and into the goal, via the crossbar, with his left heel.
A World Cup winner, a 10-time Serie A winner, and now Gianluigi Buffon is the first winner of the best goalkeeper award.
The veteran Italian helped Juventus to a sixth consecutive league title and went 600 minutes without conceding in the Champions League.
Buffon won the award ahead of Keylor Navas, part of a Real Madrid's Champions League and La Liga double-winning side, and Manuel Neuer, who helped Bayern Munich win the Bundesliga.
Courtesy of BBC