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