Neither side has played a red-ball international since January, when South Africa finished 3-1 losers in a home series against England while Sri Lanka were winning a two-match series 1-0 in Zimbabwe.
Sri Lanka can call on most of the players who shocked the Proteas by winning both Tests on their previous tour of South Africa two seasons ago.
On paper, South Africa are weaker than they were in that previous series with their entire fast bowling attack of Dale Steyn, Kagiso Rabada, Vernon Philander and Duanne Olivier missing through retirement, injury or, in the case of Olivier, the lure of the British pound.
The Sri Lanka series also marked the end of the distinguished Test career of batsman Hashim Amla.
There has been a change of captaincy, with Faf du Plessis having resigned, although he remains as a player.
Wicketkeeper Quinton de Kock, South Africa’s leading Test batsman last season, has accepted what amounts to a caretaker role for the 2020/21 season only.
De Kock’s appointment has echoes of that of Dimuth Karunaratne, the Sri Lankan opening batsman, who was announced as a “stand-in” captain for the 2018/19 tour but did such a good job of instilling a positive attitude in his players that he has remained at the helm.
Conditions, though, will be significantly different, with the matches being played on the fast, bouncy pitches of Centurion and Johannesburg instead of the slower, coastal surfaces in Durban and Port Elizabeth where Sri Lanka prevailed last time.
Despite having a completely different fast bowling attack, South Africa’s bowlers will present a tough challenge to the visiting batsmen.
Anrich Nortje is one of the fastest bowlers in the world, while Lungi Ngidi has returned to form after a series of injuries.
Glenton Stuurman could win a first cap as a like-for-like replacement for the naggingly accurate Philander.
Key for Sri Lanka will be the expected return of Kusal Perera.
The left-hander played a career-defining innings when he made 153 not out in the first Test in Durban on the previous tour, turning what seemed likely to be a routine South African win into a thrilling one-wicket victory for the tourists, sealed with an unbeaten last wicket stand of 78 with Vishwa Fernando.
Before that innings, Perera had a Test batting average below 30. He was unable to sustain his Durban form and was dropped after a poor series against New Zealand later in 2019.
South Africa: Quinton de Kock (captain, wkt), Dean Elgar, Aiden Markram, Rassie van der Dussen, Faf du Plessis, Temba Bavuma, Dwaine Pretorius or Wiaan Mulder, Keshav Maharaj, Anrich Nortje, Glenton Stuurman, Lungi Ngidi.
Sri Lanka: Dimuth Karunaratne (captain), Lahiru Thirimanne, Kusal Perera, Kusal Mendis, Dinesh Chandimal, Dhananjaya de Silva, Niroshan Dickwella (wkt), Suranga Lakmal, Lasith Embuldeniya, plus two from Vishwa Fernando, Lahiru Kumara, Dushmantha Chameera, Kasun Rajitha.
Umpires: Marais Erasmus, Adrian Holdstock (both RSA)
TV umpire: Allahudien Paleker (RSA)
Match referee: Andy Pycroft (ZIM)