Afghanistan defeated Sri Lanka by seven wickets in Pune on Monday to record their third win of the World Cup and maintain their hopes of a semi-final place.
Set 242 to win after a disciplined bowling display, Afghanistan finished on 242-3, with Azmatullah Omarzai unbeaten on 73 and captain Hashmatullah Shahidi 58 not out, the pair sharing an unbroken stand of 111.
Afghanistan now have six points and sit in fifth place in the table, two behind New Zealand and Australia with the top four guaranteed to make the semi-finals.
Victory also meant Afghanistan, who'd already beaten champions England, had won back-to-back matches at the World Cup for the first time after they defeated Pakistan by eight wickets last time out.
Prior to this edition, they had managed just one win -- against non-Test nation Scotland in 2015 -- from their appearances at two previous World Cups.
Yet they have now beaten three World Cup winners in England, 1992 champions Pakistan and 1996 kings Sri Lanka.
Dimuth Karunaratne plays a shot during the World Cup match in Pune. AP
An impressive all-round effort was set up by recalled left-arm fast bowler Fazalhaq Farooqi's 4-34 in 10 overs as Sri Lanka were held to 241.
Shahidi and Omarzai saw their team home with nearly five overs to spare.
Afghanistan lost Rahmanullah Gurbaz just four balls into their chase when he was bowled by a swinging delivery from Dilshan Madushanka.
But Ibrahim Zadran and Rahmat Shah (62) then shared a stand of 73.
Omarzai added fresh impetus with three sixes in a run-a-ball fifty.
Shahidi had got to the landmark in 67 balls but his runs were just as valuable all the same.
Sri Lanka, who've now lost four of their six matches, missed a couple of chances and their day was summed up when Omarzai scored the winning run after being dropped at deep midwicket.
Victory was another notable triumph for Afghanistan coach Jonathan Trott, with this success coming against a Sri Lanka team coached by another former England international in Chris Silverwood.
Rahmanullah Gurbaz collects a throw as Dhananjaya de Silva (L) watches in Pune, India. AFP
Farooqi had been recalled in place of Noor Ahmad despite the teenage spinner's three wickets against Pakistan.
But on a pitch offering less turn, Afghanistan's judgement was vindicated as Farooqi struck throughout the innings, while off-spinner Mujeeb Ur Rahman kept things tight with 2-38 in 10.
Sri Lanka opener Pathum Nissanka made 46 but no other batsman managed more than skipper Kusal Mendis' (39) after they were sent into bat.
Nissanka, fresh from his unbeaten 77 in an eight-wicket rout of England, was in sight of his fifth fifty in six innings this World Cup.
But he was caught behind for 46, trying to cut Omarzai.
Mujeeb then struck in successive balls, removing Mendis and Sadeera Samarawickrama (36) after both batsmen had made starts.
Farooqi then cleaned up late on, expertly yorking tailender Maheesh Theekshana (29) before he had Angelo Mathews well caught in the deep by Afghanistan veteran Mohammad Nabi.
Agence France-Presse