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