Traveling from St Andrews to Portsmouth involves a long journey south. You will travel via Leuchars to London, then take a Southern or South Western Railway train to Portsmouth Harbour. The total distance is roughly 780 km.
Total Distance: 780 km driving distance, 640 km air distance.
Portsmouth Harbour station is right next to the ferry terminal.
June to August for the best weather to explore the Portsmouth Historic Dockyard.