De Villiers, the top ranked one-day batsman in the world, beat off tough competition from India's Sachin Tendulkar and the Australia duo of Shane Watson and Ryan Harris to take the prestigious award.
During the 12-month voting period to August, de Villiers played 16 ODIs and scored 855 runs at an average of 71.25.
In that time he hit four half-centuriess and four tons. He also kept wicket four times for the Proteas, playing a hand in five dismissals, and helped his side to victory in 10 of the 16 matches in which he played.
De Villiers was also named as the only South African in the ICC ODI Team of the Year.
“I've really enjoyed this season and it's great to have been named the ODI Cricketer of the Year," De Villiers said.
“It's a World Cup season and a World Cup is something we would love to win and we rate our chances pretty highly.”