Afghanistan captain Gulbadin Naib won the toss and opted to bowl first against Sri Lanka under heavy skies in their World Cup clash in Cardiff on Tuesday.
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.
Afghanistan were unchanged for the match in the Welsh capital and Sri Lanka brought in seamer Nuwan Pradeep for Jeevan Mendis.
"The conditions are suitable for the bowlers and there's cloudy weather, so it's a good toss to win," said Naib. "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."
Sri Lanka captain Dimuth Karunaratne said: "We batted first in the last game. Now we know how the conditions will play. I think our batsmen have some ideas on how to score. It's not a 300 wicket but we should know how to get our best score on this wicket."
Afghanistan: Mohammad Shahzad (wkt), Hazratullah Zazai, Rahmat Shah, Hashmatullah Shahidi, Mohammad Nabi, Gulbadin Naib (capt), Najibullah Zadran, Rashid Khan, Dawlat Zadran, Mujeeb Ur Rahman, Hamid Hassan
Sri Lanka: Dimuth Karunaratne (capt), Lahiru Thirimanne, Kusal Perera (wkt), Kusal Mendis, Angelo Mathews, Dhananjaya de Silva, Thisara Perera, Isuru Udana, Suranga Lakmal, Nuwan Pradeep, Lasith Malinga