The calculated distance (air line) between Ta’if and Ash Shafā is approximately 15 miles respectively 24 kilometers.
By car or train, the actual journey to Ash Shafā is certainly longer, as only the direct route (as the crow flies) between Ta’if and Ash Shafā has been calculated here.