Coastal Aviation flies daily on demand between Kilwa and Dar es Salaam (US$275 one way), Zanzibar Island (US$330 one way) and Mafia (US$190 one way). All flights require a minimum of four passengers. Book through the Coastal Aviation office in Dar es Salaam. Kilwa Masoko's airstrip is about 2km north of town along the main road.
Dhows to Songo Songo and other nearby islands are best arranged in Kilwa Kivinje. Boats to Kilwa Kisiwani and Songo Mnara depart from the small port at the southern end of town. An intriguing option for those with time is the three-night sailing safari between Kilwa Masoko and Dar es Salaam, organised through Mwangaza Hideaway, or the Slow Leopard (firstname.lastname@example.org) in Dar es Salaam (from US$485 per person).
To Nangurukuru (the junction with the Dar es Salaam–Mtwara road; Tsh2000, one hour) and Kilwa Kivinje (Tsh2000, 45 minutes), shared taxis and minibuses depart several times daily from the transport stand just off the main road near the market. The transport stand is also the place to hire taxis or bajaji for local excursions.
To Dar es Salaam, there are several buses daily, usually stopping also in Kilwa Kivinje. Departures in each direction are between 5.30am and 10am (Tsh13,000, four to five hours). Book tickets the day before. All Kilwa departures are from the transport stand near the market. Departures in Dar es Salaam are from Mbagala Rangi Tatu, along the Kilwa road, which is also the terminus for the bus on its run up from Kilwa. Coming from Dar es Salaam it’s also possible to get a Mtwara-bound bus and get out at Nangurukuru junction, from where you can get local transport to Kilwa Kivinje (Tsh1000, 11km) or Kilwa Masoko (Tsh2000, 35km), although you’ll usually be charged the full Dar es Salaam–Mtwara fare. This doesn’t work as well leaving Kilwa, as buses are often full when they pass Nangurukuru (from about 11am). The best place to wait is at the large Starcom rest stop, along the main road about 200m north of Nangurukuru junction; most through buses stop here.
To Lindi, there’s at least one direct bus daily (Tsh7000, four hours), departing Kilwa between 5am and 6am from the transport stand near the market; book a day in advance. There are no direct connections to Mtwara. Either get a shared taxi to Nangurukuru junction, and then try your luck catching a Mtwara-bound bus from there (wait at Starcom rest stop north of Nangurukuru junction) for the full Dar es Salaam–Mtwara fare. Otherwise, go first to Lindi, and take a minivan from there.