Afghanistan, bidding for just their second win in a World Cup match and their first over a Test nation were in command halfway through a gloomy day in Cardiff after dismissing Sri Lanka for 201. But faced with a rain-revised target of 187 in 41 overs, their batting let them down again as they were bowled out for 152. Victory saw Sri Lanka bounce back from a 10-wicket thrashing by New Zealand in their World Cup opener.
And when Najibullah was run out by a direct hit from Sri Lanka captain Dimuth Karunaratne, Afghanistan were all but beaten at nine down.
Earlier, Sri Lanka came out of the blocks quickly against the unfenced Afghans, who suffered a seven-wicket loss to champions Australia in their tournament opener, and were set for an imposing total at 144 for one.
But they lost their last nine wickets for 57 runs, Mohammad Nabi taking three in five balls after Gulbadin won the toss.
Rain then intervened, forcing the players from the field, with Sri Lanka 182-8.
Afghanistan, playing in only their second World Cup, beat Sri Lanka soundly in last year’s Asia Cup in the United Arab Emirates, but for the second match in a row this World Cup their batting let them down.