Citizens of 67 countries and territories, including Australia, Canada, Netherlands as well as other EU countries, Singapore, Malaysia, Hong Kong, UK and US, do not require a visa. For citizens of other nations, a visa must be obtained prior to arrival.
As of February 2009, a visa from the Botswana Embassy in the US costs USD107; for more information and a complete list of countries which do/don't require visas, see: (http://www.botswanaembass...).
If you require a visa to enter Botswana, you might be able to apply for one at a British embassy, high commission or consulate in the country where you legally reside if there is no Botswana diplomatic post. For example, the British embassies/consulates in Al Khobar (http://www.ukba.homeoffic...), Almaty (http://www.ukba.homeoffic...), Amman (http://www.ukba.homeoffic...), Belgrade (http://www.ukba.homeoffic...), Damascus, Geneva (http://www.ukba.homeoffic...), Guatemala City (http://ukinguatemala.fco....), Jakarta (http://www.ukba.homeoffic...), Jeddah (http://www.ukba.homeoffic...), Kiev (http://www.ukba.homeoffic...), Pristina (http://www.ukba.homeoffic...), Rabat (http://www.ukba.homeoffic...), Riyadh (http://www.ukba.homeoffic...), Rome (http://www.ukba.homeoffic...), Sofia (http://www.ukba.homeoffic...) and Zurich (http://www.ukba.homeoffic...) accept Botswana visa applications this list is not exhaustive. British diplomatic posts charge £50 to process a Botswana visa application and an extra £70 if the authorities in Botswana require the visa application to be referred to them. The authorities in Botswana can also decide to charge an additional fee if they correspond with you directly.
There is regular bus service from Johannesburg to Gaborone, which takes six hours. There is also service from Windhoek, Namibia via the Caprivi Strip which will drop you in Chobe National Park, in northern Botswana. There is also bus service from Victoria Falls in Zimbabwe. See Intercape Mainliner (http://www.intercape.co.za/) for information on service from Namibia and Zimbabwe. Private shuttles ran until 2004 from Windhoek directly to Maun and in late 2005, such a service was starting up again. Alternatively, there is a public bus that runs from Windhoek to Gaborone every Sunday morning via Ghanzi, where you can catch another public bus that reaches Maun by Sunday evening.
Botswana's main airport is Sir Seretse Khama in Gaborone. Most flights arriving in Botswana are from Johannesburg in South Africa, but routes from Cape Town, Harare and Nairobi are also available. Maun also has a limited number of international flights Cape Town, Windhoek. The distance between Gaborone and Maun is more than 1,000km. Maun is very much a tourist attraction spot.
Trains to/from South Africa have been withdrawn since 1999. A rail link from from Francistown Bulawayo, Zimbabwe was started in June 2006 (http://www.seat61.com/Bot...). Note that all domestic passenger services have been suspended indefinitely as of April 2009.
There are several entry points by road to Botswana: In the south at Gaborone, providing access from Johannesburg; in the west providing access from Namibia; the north providing access from Namibia, Zambia and Zimbabwe; and at Francistown in the east, providing access from Harare. All road access is good and the primary roads within Botswana are paved and well maintained.
Coming from Namibia, you can either go north to Maun, or south along the Trans-Kalahari Highway to Lobatse.