Gulbadin Naib won the toss and put SL in to bat, hoping to take advantage of the favourable conditions for bowlers in the Welsh capital.
Cardiff: Sri Lanka suffered a dramatic collapse in their World Cup match against Afghanistan on Tuesday, with Mohammad Nabi wreaking havoc with three wickets in five balls.
The batting side made a bright start under heavy skies in Cardiff, passing the 100 mark in the 15th over and looked comfortable at 144 for one.
But off-spinner Nabi, who had earlier removed Dimuth Karunaratne, then created panic in the Sri Lankan ranks, taking three wickets in an over.
Nabi bowled Lahiru Thirimanne for 25 before having Kusal Mendis caught by Rahmat Shah in the slips for two runs. Angelo Mathews was next to go, for a duck, also caught by Shah.
Fast bowler Hamid Hassan then had Dhananjaya de Silva caught behind the stumps for nought by Mohammad Shahzad to leave Sri Lanka shell-shocked.
They were in even deeper trouble when Thisara Perera was run out for two, leaving them 159-6.
Earlier, Afghanistan captain Gulbadin Naib won the toss and put Sri Lanka in to bat, hoping to take advantage of the favourable conditions for bowlers in the Welsh capital.
But openers Karunaratne and Kusal Perera settled quickly and grabbed the initiative, putting on 92 for the first wicket for the out-of-form side.
Afghanistan's bowlers struggled to stop the flow of runs, with Hassan withdrawn from the attack after conceding 30 runs from just two overs.
Sri Lanka's charge was initially slowed when captain Karunaratne was caught by Najibullah Zadran at long on off the bowling of Nabi for 30 but there were no signs of the carnage to come.
Both sides were soundly beaten in their first matches of the tournament in England and Wales.
Former champions Sri Lanka were thumped by 10 wickets by New Zealand on the same ground while Afghanistan went down by seven wickets to defending champions Australia in Bristol.
"The conditions are suitable for the bowlers and there's cloudy weather, so it's a good toss to win," Naib said earlier.
"We took a lot of things from our last game against Australia. Sri Lanka are a champion side so it depends on the day if we play our best cricket."
Afghanistan, playing at only their second World Cup, beat 1996 world champions Sri Lanka soundly in last year's Asia Cup in the United Arab Emirates.
Sri Lanka, who lost to heavily to Afghanistan in last year's Asia Cup, have won only one of their 10 one-day international matches this year -- against minnows Scotland.