He reached triple figures in just 37 balls, easily surpassing Sanath Jayasuriya's record of 48 balls.
Afridi hit 11 sixes (equalling Jayasuriya's ODI record) and to make matters worse for Jayasuriya, he took 28 runs off his one over.
He ended with 102 from 40 balls, with a strike rate of 255, and his second wicket partnership with Saeed Anwar worth 126 runs helped Pakistan post 371/9 in their 50 overs.
In reply, Aravinda De Silva scored a century but it was never going to be enough to overturn the big total.
Waqar Younis took 5 wickets, and Sri Lanka were eventually dismissed for 289.
Afridi held the century record for 17 years till it was overtaken by Corey Anderson (36 balls). A year later AB de Villiers got there in just 31 balls and he still holds the record.
First Published: October 4, 2018, 12:20 PM IST