Distance from Shrewsbury to St Andrews

The distance from Shrewsbury to St Andrews is 521 km (or 324 mi). The estimated driving time for the trip is 5h 33min and the main road for this route is the M6. In a straight line, the distance between Shrewsbury and St Andrews is 417 km (260 mi).