The average train between Kyleakin and Perth takes 5h 22m and the fastest train takes 4h 47m. The train service runs several times per day from Kyleakin to Perth. 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 4 times a day between Kyleakin and Perth. The earliest departure is at 5:45 AM in the morning, and the last departure from Kyleakin is at 5:13 PM which arrives into Perth at 10:37 PM. All services require a transfer, and take on average 5h 22m. The schedules shown below are for the next available departures.

5h 18m • 1 change

4h 47m • 1 change

5h 50m • 1 change

5h 31m • 1 change

5h 18m • 1 change

4h 47m • 1 change

5h 50m • 1 change

5h 31m • 1 change

5h 18m • 1 change

4h 47m • 1 change

5h 50m • 1 change

5h 31m • 1 change

5h 18m • 1 change

4h 47m • 1 change

5h 50m • 1 change

5h 31m • 1 change
Want to know about travelling from Kyleakin to Perth? 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 Kyleakin to Perth. However, there are services departing from Kyleakin station and arriving at Perth station via Inverness. The journey, including transfers, takes approximately 5h 22m.
Kyleakin to Perth train services, operated by ScotRail, depart from Kyle of Lochalsh station.
Kyleakin to Perth train services, operated by ScotRail, arrive at Perth station.
Book your Kyleakin to Perth train tickets online with ScotRail.
The distance between Kyleakin and Perth is 170.5 km. The road distance is 313 km.
You can take a train from Kyle of Lochalsh to Perth via Inverness in around 5h 55m.