The calculated distance (air line) between Zanzibar and Bagamoyo is approximately 28 miles respectively 45 kilometers.
By car or train, the actual journey to Bagamoyo is certainly longer, as only the direct route (as the crow flies) between Zanzibar and Bagamoyo has been calculated here.