The calculated distance (air line) between Johannesburg and Bethlehem is approximately 141 miles respectively 227 kilometers.
By car or train, the actual journey to Bethlehem is certainly longer, as only the direct route (as the crow flies) between Johannesburg and Bethlehem has been calculated here.
Air line (approximately)
227 kilometers
123 nautical miles