The airport is a five-minute walk from the city centre. Precision Air flies four times weekly from Dar es Salaam (Tsh126,000) via Mwanza. The booking office is in the town centre.
The passenger and vehicle ferry service to Mwanza has been suspended for many years, but optimism about a restart remains high.
The bus terminal is 6km out of town at Bweri, though booking offices remain in the town centre. Dalla-dallas go frequently to/from the city centre (Tsh4000, 20 minutes) and a taxi costs Tsh10,000. Frequent buses connect Musoma and Mwanza (Tsh10,000, four hours).
To get to Ukerewe Island, take a dalla-dalla to Bunda (Tsh4000, one hour, 5.30am to 4pm) and from there take a bus or dalla-dalla to Kisorya. A ferry (Tsh6000) connects Kisorya and Ukerewe; once on the island, it's another 20 minutes by bus or dalla-dalla to Nansio (the island's largest town).
There’s a direct bus to Arusha daily (Tsh35,000, 11 to 12 hours) at 6am, passing through Serengeti National Park (using Ikoma gate) and Ngorongoro Conservation Area. However, you have to pay US$110 in park fees to ride this route, as it enters the park. The drive is pretty and can offer nice animal viewing on the way, but you'll not get the chance to stop for photos. Some people find it's better value to fly.