Sri Lanka secured their place in the final of the Asia Cup after cruising to a 129-run victory over Afghanistan in Dhaka, their third successive win in the competition.
Angelo Mathews' men recovered from 158-5 to post 253-6 batting first, a target they easily defended after skittling Afghanistan for just 124.
Defending champions Pakistan meet hosts Bangladesh on Tuesday knowing victory will see them join Sri Lanka in Saturday's final.
Sri Lanka's win came on the back of a batting display held together once again by Kumar Sangakkara.
The Islanders' stalwart made a composed 76 and looked set for a 19th ODI century before a mix up with captain Mathews saw him run out in the 38th over.
At that stage Afghanistan would have fancied their chances with their opponents wobbling on 158-5 but Mathews (45 not out) finished the innings with a flourish to see his side past 250.
Afghanistan threatened briefly in reply when Noor Ali Zadran (21) and Asghar Stanikzai (27) took the score on to 53-1, however once that partnership was broken, the Asian minnows folded meekly.
Ajantha Mendis (3-11) removed Zadran and then swiftly mopped up the tail after Thisara Perera (3-29) had run through the middle order.