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