Upvote:0
According to the IATA Travel Center, as a Ugandan citizen, you will need a visa for South Africa. The only way to avoid requiring a visa is if you are flying in and out of South Africa.
Visa South Africa
Visa required.
TWOV (Transit Without Visa):
Passengers transiting through Cape Town (CPT), Durban (DUR), Johannesburg (JNB) or Lanseria (HLA) with a confirmed onward ticket for a flight to a third country. They must stay in the international transit area of the airport and have documents required for the next destination.
Upvote:2
You require a South African tourist visa since you will be entering South Africa at OR Tambo International Airport and then catching a bus to Eswatini (Swaziland).
For other interested persons, Swaziland has changed the official name to Eswatini.