The average train between Kyle of Lochalsh and Perth takes 5h 22m and the fastest train takes 4h 47m. The train service runs several times per day from Kyle of Lochalsh 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 Kyle of Lochalsh and Perth. The earliest departure is at 5:45 AM in the morning, and the last departure from Kyle of Lochalsh is at 5:13 PM which arrives into Perth at 10:44 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 24m • 1 change

5h 18m • 1 change

4h 47m • 1 change

5h 50m • 1 change

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