In February 2019, Sri Lanka named Dimuth Karunaratne as the captain of their Test side, after Dinesh Chandimal was dropped due to poor form.[5] Chandimal was also omitted from Sri Lanka's ODI squad for the tour.[6] Sri Lanka won the Test series 2–0,[7] their first Test series win in South Africa.[8] It was also the first time that a team from Asia had won a Test series in South Africa.[9]
South Africa won the ODI series 5–0.[10] It was the fourth time in less than two years that Sri Lanka had been whitewashed in a five-match ODI series.[11] For the T20I series, Faf du Plessis was named as South Africa's captain for the first match, and JP Duminy for the remaining two fixtures.[12] South Africa also completed a whitewash in the T20I series, winning 3–0.[13]
Ahead of the last two ODIs, Aiden Markram, Hashim Amla and JP Duminy were added to South Africa's squad,[20] with Reeza Hendricks and Wiaan Mulder being dropped.[21] However, the day after Amla was added to South Africa's ODI squad, he took compassionate leave, missing the last two matches, with Hendricks recalled.[22]Kusal Perera was ruled out of Sri Lanka's ODI squad for the final two ODIs, after suffering a hamstring injury in the third ODI.[23]Lungi Ngidi and Anrich Nortje were ruled out of South Africa's T20I squad for the final two T20Is due to injury.[24]Junior Dala was added to South Africa's squad for the third T20I.[25]
^ abJP Duminy was named captain for the 2nd and 3rd T20Is.
^ abWhile five days of play were scheduled for each Test, the first Test reached a result in four days, and the second Test reached a result in three days.
Note: during the isolation of South Africa from international cricket between 1970 and 1991, there were seven unofficial tours (italicised below) by various teams, collectively known as the South African rebel tours.