The average train between Inverness and Swansea takes 14h 39m and the fastest train takes 10h 33m. The train service runs several times per day from Inverness 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 5 times a day between Inverness and Swansea. The earliest departure is at 6:38 AM in the morning, and the last departure from Inverness is at 6:53 PM which arrives into Swansea at 6:05 PM. All services require a transfer at Haymarket and take an average of 14h 39m. The schedules shown below are for the next available departures.
Arrives next day


20h 52m • 2 changesArrives next day


18h 47m • 2 changes

11h 2m • 2 changes

11h 43m • 2 changes

11h 8m • 2 changesArrives next day


20h 50m • 2 changes

10h 53m • 2 changes

11h 46m • 2 changes

11h 9m • 2 changesArrives next day


25h 30m • 2 changes

10h 54m • 2 changes

10h 33m • 2 changesArrives next day


18h 19m • 2 changesArrives next day


18h 47m • 2 changes

11h 2m • 2 changes

11h 44m • 2 changes

11h 8m • 2 changesArrives next day


20h 52m • 2 changes

11h 2m • 2 changes

11h 44m • 2 changes

11h 8m • 2 changesArrives next day


20h 52m • 2 changesWant to know about travelling from Inverness 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 Inverness to Swansea. However, there are services departing from Inverness station and arriving at Swansea station via Haymarket. The journey, including transfers, takes approximately 14h 39m.
Inverness to Swansea train services, operated by ScotRail, depart from Inverness station.
Inverness to Swansea train services, operated by ScotRail, arrive at Swansea station.
Book your Inverness to Swansea train tickets online with ScotRail, Avanti West Coast and 2 other operators.
The distance between Inverness and Swansea is 651.7 km. The road distance is 977 km.
You can take a train from Inverness to Swansea via Haymarket and Crewe in around 11h 50m.