The Islanders scored a challenging 253-6 with in-form Kumar Sangakkara hitting a solid 76 before they bowled their rivals out for a paltry 124 in 38.4 overs.
Sri Lanka won all their three matches to gain 12 points, leaving them to play a meaningless last game against hosts Bangladesh on Thursday before having a tilt at the title.
Afghanistan, who gave a good account of themselves by beating Bangladesh by 32 runs in their second match, found Sri Lanka's pace-cum spin attack too hot to handle and only captain Mohammad Nabi (37), Asghar Stanikzai (27) and Noor Ali Zadran (21) were among the runs.
Nabi hit a six and three boundaries off 43 balls before he fell leg-before to spinner Chaturanga de Silva in the 33rd over.
Mystery spinner Ajantha Mendis took 3-11 in his seven overs while Thisara Perera chipped in with 3-29 in his full quota of ten overs.
Paceman Suranga Lakmal (2-30) and left-armer de Silva fetched 2-29 to complete the rout.
Only Nabi and Najibullah Zadran (11) cou