Minibuses run between Gaborone and Johannesburg.
Buses to Zimbabwe include the Gaborone to Francistown, Bulawayo and Harare service and the Kasane to Victoria Falls service. To get to Zambia otherwise, you need to catch the Kazungula ferry over the Zambezi River. Getting Around Flights are scheduled regularly between all the major towns, but fares are expensive. Botswana has six major bus routes and a good train line running through Francistown, Gaborone and Lobatse with service that's reliable and inexpensive. If you're hitching the back roads, make sure you've got camping gear and enough food and water to keep you going for several days of waiting.