The away team head into the series following heavy defeats in New Zealand and Australia, and having unceremoniously dumped captain Dinesh Chandimal.
Sri Lanka have lost 11 of 13 Test matches in South Africa. The exceptions occurred at Kingsmead in the only two Tests Sri Lanka have played at the ground.
In 2000/01 a rain-hit match was drawn - with South Africa in a strong position - and in 2011/12 Rangana Herath spun Sri Lanka to their only win in South Africa.
The hosts have been beaten in six of their eight Test matches at Kingsmead since the start of the 2008/09 season, against a single win. By contrast, at other home venues they have won 32 of their 44 Tests, with only six defeats.
Pitches in Durban have tended to negate outright pace, while offering help to spin bowlers. Herath took nine wickets in the 2011/12 match, while Muttiah Muralitharan had a 10-wicket haul in the drawn match 11 seasons earlier.
Even so, South Africa's battery of fast bowlers are likely to test their largely inexperienced opponents with a barrage of short-pitched deliveries, a formula which has helped South Africa win their most recent six Test matches at home.
It is unlikely, though, that South Africa will pick an all-seam attack, with left-arm spinner Keshav Maharaj set for a return on his home ground - where he bowled 24 of the 76 overs delivered on the first day of a losing Test against Australia last season.
With spinners having played a key role for Sri Lanka in Durban, it seems surprising that off-spinner Dilruwan Perera was not selected for the current tour. Perera took 16 wickets at an average of 13.00 when Sri Lanka won both home Tests against South Africa as recently as last July.
Only six of the 12 players who beat South Africa comprehensively at home are in Sri Lanka's 17-man squad, while only eight have toured South Africa previously.
Some of the selection changes are due to injuries, with three leading fast bowlers ruled out, while some of the discards, such as former skipper Chandimal, struggled during series in New Zealand and Australia in what has been a gruelling southern hemisphere summer.
Sri Lanka will be led by opening batsman Dimuth Karunaratne, who scored 356 runs at an average of 118.66 in the home series win against South Africa. He made one of only three half-centuries for Sri Lanka when they were beaten in all three Tests in South Africa in 2016/17.
Faf du Plessis (captain), Hashim Amla, Temba Bavuma, Theunis de Bruyn, Quinton de Kock (wkt), Dean Elgar, Zubayr Hamza, Keshav Maharaj, Aiden Markram, Wiaan Mulder, Duanne Olivier, Vernon Philander, Kagiso Rabada, Dale Steyn
Dimuth Karunaratne (captain), Niroshan Dickwella (vice-captain, wkt), Dhananjaya de Silva, Lasith Embuldeniya, Oshada Fernando, Vishwa Fernando, Chamika Karunaratne, Suranga Lakmal, Kusal Mendis, Angelo Perera, Kusal Perera, Kasun Rajitha, Lakshan Sandakan, Mohamed Shiraz, Kaushal Silva, Milinda Siriwardana, Lahiru Thirimanne
Umpires: Aleem Dar (PAK), Richard Kettleborough (ENG)
TV umpire: Ian Gould (ENG)
Match referee: Richie Richardson (WIN)