Andrew Fidel Fernando is ESPNcricinfo's Sri Lanka correspondent. @afidelf
Afghanistan 269 for 4 (Ibrahim 98, Rahmat 55, Shahidi 38, Rajitha 2-49) beat Sri Lanka 268 (Asalanka 91, Dhananjaya 51, Fareed 2-43, Farooqi 2-58)
Afghanistan's seamers struck with the new ball, and shut Sri Lanka's innings down at the death, before their top order cruised to a target of 269, losing only four wickets in the process.
Sri Lanka were without Dushmantha Chameera, Maheesh Theekshana, and Wanindu Hasaranga in this match. But despite this, it was a defeat that fortified the notion that they deserved to be going to the Qualifiers to earn their place in the 2023 ODI World Cup. Afghanistan, who have qualified for the big tournament, had not played an ODI since they were last in Sri Lanka, in November. And yet this was essentially a straightforward victory for them. They ambled home with 19 balls to spare.
Early in the day, it had been seamer Fazalhaq Farooqi who first set Afghanistan on the path to victory, dismissing Dimuth Karunaratne and Kusal Mendis inside the first nine overs. Karunaratne had been brought into the side to provide stability at the top of the innings, but he fended at a ball that seamed slightly away from him in the third over, and was caught for four at second slip. Mendis pulled a short ball straight to square leg.
From there, Sri Lanka slid further. When Angelo Mathews was bounced out by Fareed Ahmad, they sunk to 61 for 3. Then Pathum Nissanka's dismissal by Mujeeb Ur Rahman put them at 84 for 4. They did recover, as Charith Asalanka and Dhananjaya de Silva put on 99 together for the fifth wicket, as both hit fifties. But such was the damage Afghanistan's bowlers had done at the top of the innings, they were unwilling to take major risks, choosing largely to accumulate their way through the middle overs on a slow-ish Hambantota track.
Even so, Sri Lanka could have aimed for a total in the range of 280, having been 196 for 5 after 40 overs. But their lower middle order provided only stinting support to Asalanka, who went on to make 91 off 95 before being run out in the final over. They were shackled through the death overs, and lost their last four wickets in the 48th and 49th, eventually being bowled out off the final ball of the innings. Fareed and the spinners - Mujeeb and Noor Ahmad - were excellent through this stage of the innings, though Noor had been expensive earlier.
In response, Ibrahim's innings was largely frictionless. He chipped one just short of the point fielder after he'd struck Kasun Rajitha for successive fours in the seventh over, but didn't face any major threats to his wicket. When Matheesha Pathirana came on to bowl, there was a suggestion that Afghanistan might find his action difficult, but Ibrahim lifted him for two sixes over deep square leg in the 12th over. He reached fifty off just 35 balls, though he got to the milestone off a thick edge.
In four innings in Sri Lanka now, he'd only failed to reach fifty in one innings. His two previous half-centuries had been converted to hundreds.
While Ibrahim raced through the early overs, Rahmanullah Gurbaz had chopped one on to his stumps on 14, but Ibrahim immediately found a foil in Rahmat. Coming in at No.3, Rahmat flicked the first ball he faced for four through midwicket but otherwise adopted a steady approach. He collected just 12 from his first 30 balls and refrained from hitting a boundary from his next 63 deliveries. He progressed largely through singles through cover and mid-on, and got to his fifty off 75 balls.
At no stage did Afghanistan's run rate dip below what was required. Ibrahim, who had hit 11 fours in addition to his two sixes, before miscuing a pull off Rajitha two short of a hundred, had ensured that. Rahmat would eventually become Pathirana's first international wicket, when he also top-edged a short ball, and provided fine leg with a catch. But Afghanistan needed only 58 off 78 deliveries at that stage, with seven wickets in hand. They'd lose one more batter - captain Hashmatullah Shahidi - but Mohammad Nabi was on hand to ensure there were no complications in the end.
For Sri Lanka, who appeared to be experimenting with their attack, handing debuts to Dushan Hemantha, and Pathirana, the result was an indication that there was serious work to be done on the depth-building front. Hemantha went wicketless, and Pathirana's 8.5 overs cost 66.
Worse still for Sri Lanka, Lahiru Kumara had to leave the field midway through his fifth over, with what on first sight may have been a hamstring injury. With the Qualifiers set to begin in Zimbabwe in little over two weeks, his potential absence could be significant.