3. Shahid Afridi – 37 balls
Pakistani Cricketer, Shahid Afridi scored a 37 ball hundred back In 1996 at Nairobi against Sri Lanka, he scored 102 runs in the match and this century held the record for the fastest century in ODI for the next 18 years until Corey Anderson broke the record in 2014.