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.
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 accounted 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.