Afghanistan 242 for 3 (Azmatullah 73*, Rahmat 62, Hashmatullah 58*, Madushanka 2-48) beat Sri Lanka 241 (Nissanka 46, Mendis 39, Farooqi 4-34) by seven wickets
Pune: Afghanistan kept their World Cup semi-final dream alive with a comfortable seven-wicket win over Sri Lanka on Monday.
After Fazal Farooqi took 4-34 to help bowl Sri Lanka out for 241, Rahmat Shah made a composed 62 to put Afghanistan on course in the chase.
Hashmatullah Shahidi and Azmatullah Omarzai then put on an unbroken 111 to get Jonathan Trott's side over the line with 28 balls to spare in Pune.
Victory moves Afghanistan to within two points of fourth-placed Australia.
Sri Lanka had made a solid start after being put in to bat, reaching 134-2 before a middle-order collapse saw them slump to 185-7.
Angelo Matthews and Maheesh Theekshana added 45 for the eighth wicket but both fell to the impressive Farooqi as Sri Lanka were bowled out with three balls of the innings remaining.
Dilshan Madushanka bowled Rahmanullah Gurbaz four balls into Afghanistan's reply but there was no panic from the batting side as Ibrahim Zadran and Rahmat put on 73 for the second wicket.
There might have been concern when Rahmat was dismissed with 111 still needed for victory but captain Hashmatullah and Azmatullah held their nerve, calmly ticking off the runs before kicking for home when the finishing line came into view.
With three games to go, Afghanistan jump to fifth and stay right in the mix for a top four finish, albeit with a significantly worse net run-rate than any of the sides above them.