Sri Lanka bounced back from defeat in their opening game to beat Afghanistan via DLS method in Cardiff.
Sri Lanka 201 (36.5 overs)
K Perera 78, Nabi 4-30
Afghanistan 152 (32.4 overs)
Najibullah 43, Pradeep 4-31, Malinga 3-39
Sri Lanka emerged from the ruins of a spectacular batting collapse to kick-start their World Cup campaign by beating Afghanistan in Cardiff.
Their 34-run victory looked improbable on a rain-affected day when they lost eight wickets for 57 runs in subsiding from 144 for one to 201 all out.
A delay of more than two hours meant that Afghanistan chased a revised target of 187 off 41 overs, but it proved beyond them as they suffered a second successive defeat in falling to 152 all out.
Sri Lanka dug deep to recover from a 10-wicket drubbing by New Zealand on the same ground three days ago, with Nuwan Pradeep taking four for 31, but their batting remains a major concern.
Kusal Perera's 78 underpinned a Sri Lanka total of 201, yet they found no real answer to Afghanistan spinner Mohammad Nabi, who took four for 30, including three wickets in one over.
At one stage, Sri Lanka lost four wickets for five runs, and Afghanistan would have fancied their chances of claiming a major World Cup scalp.
Captain Dimuth Karunaratne and Perera compiled a 92-run opening partnership before the former departed for 30, then Perera and Lahiru Thirimanne took the score to 144 without any real alarms.
But that was the cue for Nabi, who had removed Karunaratne, then bowled Thirimanne for 25 before Kusul Mendis edged Nabi to Rahmat Shah at first slip for two, and Angelo Mathews lasted just two balls, giving Shah another catch and Nabi his fourth wicket.
And there was no let-up, with Dhananjaya De Silva next to go, also without scoring, as he was caught behind off Hamid Hassan, and the innings eventually ended on 201 from 36.5 overs.
Sri Lanka will look long and hard at some of their shot selections before tackling resurgent Pakistan in Bristol on Friday, and on this occasion their bowlers got them out of a deep hole.
Pradeep, who was called into Sri Lanka's starting line-up after missing the New Zealand game, pinned Afghanistan's batsmen on the back foot through some fiery and accurate bowling.
Afghanistan lost five wickets for 23 runs in succumbing to 57 for five, but they found renewed hope through a 64-run sixth wicket partnership between skipper Gulbadin Naib and Najibullah Zadran.
But that resistance ended when Naib was out leg before to Pradeep for 23, meaning that Afghanistan required a further 66 runs off 16 overs with four wickets remaining.
Sri Lanka, though, continued to exert unrelenting pressure with the ball, and Afghanistan could not break the shackles that Pradeep and Lasith Malinga had placed around them.
And when Zadran was run out for 43, all resistance ended, with Sri Lanka ending well short of their target and Sri Lanka at least off and running - albeit largely unconvincingly - in terms of their World Cup campaign.
Watch Sri Lanka's winning moment - a classic yorker from Lasith Malinga! #AFGvSL #CWC19 pic.twitter.com/YCnC2b1Nty
— ICC (@ICC) June 4, 2019
Sri Lanka coach Chandika Hathurusingha underlined the importance of a key win for his team after they kick-started their World Cup campaign in Cardiff.
"I can't explain what happened," said Hathurusingha, about the deluge of Sri Lankan wickets.
"You lose one wicket, and then it was difficult to start. We allowed them to come into the game.
"It all depends on the conditions. The two wickets we've had (in Cardiff) are not ideal for one-day cricket, for my mind.
"They are a very good side. They have got a really good bowling attack with world-class players.
"But the way we started, I thought we would end up getting 280-300. I am disappointed with our batting effort. We have to get better.
"We really needed a win, and it will give us a lot of confidence, and I am sure you will see a better approach from the team after this."
Afghanistan's Gulbadin Naib said: "We started poorly.
"The first 10 overs we didn't bowl in the right area. They scored a lot at the start - too much.
"The experienced teams have played a lot of cricket in these conditions, and it was about keeping calm and taking our time, but we missed something at the start of the day."