South African cricket team in Sri Lanka in 2018

The South Africa cricket team toured Sri Lanka in July and August 2018 to play two Tests, five One Day Internationals (ODIs) and a Twenty20 International (T20I) match. Originally, the tour was for three Test matches, but the third match was dropped and replaced by the ODI and T20I fixtures. The extra ODI fixtures were used as preparation for the 2019 Cricket World Cup.

Ahead of the tour, Sri Lanka Cricket (SLC) named Dinesh Chandimal as the captain of the Test side. However, Chandimal faced disciplinary charges, for his role in alleged ball-tampering during the second Test against the West Indies in Saint Lucia in June 2018. His hearing took place before the start of the first Test, with him found guilty. He received a two-match ban, with Suranga Lakmal captaining the side in his place. After the conclusion of the first Test, the independent Judicial Commissioner handed down a further eight suspension points to Chandimal, meaning that he was also suspended for the first four ODIs of the series.

Sri Lanka won the Test series 2–0.

During the ODI series, South Africa's captain, Faf du Plessis, injured himself during the third match and was ruled out of the rest of the tour, including the one-off T20I fixture. Quinton de Kock was named as the captain of South Africa for the last two ODIs of the series. JP Duminy was also named as the captain of the team for the T20I match. South Africa won the ODI series 3–2. Sri Lanka won the one-off T20I match by three wickets.

Squads
Sri Lanka named Dimuth Karunaratne, Nishan Peiris, Isuru Udana and Jeffrey Vandersay as standby players for the ODI series. The day before the one-off T20I fixture, Isuru Udana and Kasun Rajitha were added to Sri Lanka's squad for the match.