The average train between Haslemere and Swindon takes 2h 8m and the fastest train takes 1h 36m. The train runs at least 2 times per hour from Haslemere to Swindon. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 30 minutes between Haslemere and Swindon. The earliest departure is at 5:26 AM in the morning, and the last departure from Haslemere is at 11:26 PM which arrives into Swindon at 6:18 AM. All services require a transfer at Guildford and take an average of 2h 8m. The schedules shown below are for the next available departures.


1h 51m • 2 changes
Arrives next day


2h 31m • 2 changes
Arrives next day


7h 1m • 2 changes


2h 12m • 2 changes


1h 48m • 2 changes


1h 56m • 2 changes


1h 48m • 2 changes


2h 12m • 2 changes


1h 48m • 2 changes


1h 56m • 2 changes


1h 48m • 2 changes
Want to know about travelling from Haslemere to Swindon? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Haslemere to Swindon. However, there are services departing from Haslemere station and arriving at Swindon station via Reading. The journey, including transfers, takes approximately 2h 8m.
Haslemere to Swindon train services, operated by South Western Railway, depart from Guildford station.
Haslemere to Swindon train services, operated by South Western Railway, arrive at Swindon station.
Book your Haslemere to Swindon train tickets online with South Western Railway and Great Western Railway (GWR).
The distance between Haslemere and Swindon is 90.9 km. The road distance is 128 km.
You can take a train from Haslemere to Swindon via Guildford and Reading in around 1h 59m.