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