The easiest way to to get to your destination is a direct flight. Direct flights for from Gaborone to Johannesburg are offered by:
Aviasales.ge suggests buying tickets for Gaborone – Johannesburg in advance in order to choose the conditions for your flight that best suit your preferences and budget.
Also view:
Gaborone airports serving flights to Johannesburg:
Johannesburg airports accepting flights from Gaborone: