Chole Bay, the deep-water anchorage on Mafia's eastern side, is one of the best places in the Indian Ocean to swim with whale sharks. The sharks are present in the bay from roughly October to March, feeding on the dense plankton that concentrates in the sheltered water. Unlike many whale shark destinations, Mafia's population includes some large adults — 10 metres and more — and the snorkelling is often in remarkably clear, calm conditions.
Regulations inside the marine park limit interactions to snorkelling only (no scuba with the sharks) and require boats to maintain a minimum distance before dropping snorkellers. All the lodges and dive operators on the island offer whale shark trips; rates are typically included in full-board packages or available as day trips. Outside the October-to-March window, whale sharks may still be present but sightings are less reliable.