The average train between Haslemere and Swansea takes 4h 12m and the fastest train takes 3h 28m. There is a train service every few hours from Haslemere to Swansea. 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 hourly between Haslemere and Swansea. 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 Swansea at 9:02 AM. All services require a transfer at Guildford and take an average of 4h 12m. The schedules shown below are for the next available departures.


4h 5m • 2 changes


4h 1m • 2 changes


4h 2m • 2 changes


3h 52m • 2 changes


4h 7m • 2 changes


4h 6m • 2 changes


3h 51m • 2 changes


3h 54m • 2 changes


4h 7m • 2 changes


4h 6m • 2 changes


3h 51m • 2 changes


3h 54m • 2 changes
Want to know about travelling from Haslemere to Swansea? 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 Swansea. However, there are services departing from Haslemere station and arriving at Swansea station via Reading. The journey, including transfers, takes approximately 4h 12m.
Haslemere to Swansea train services, operated by South Western Railway, depart from Guildford station.
Haslemere to Swansea train services, operated by South Western Railway, arrive at Swansea station.
Book your Haslemere to Swansea train tickets online with South Western Railway and Great Western Railway (GWR).
The distance between Haslemere and Swansea is 232.3 km. The road distance is 310 km.
You can take a train from Haslemere to Swansea via Guildford and Reading in around 4h 23m.