The average train between Kinghorn and Inverness takes 4h 9m and the fastest train takes 3h 5m. The train service runs several times per day from Kinghorn to Inverness. 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 3 hours between Kinghorn and Inverness. The earliest departure is at 7:15 AM in the morning, and the last departure from Kinghorn is at 11:14 PM which arrives into Inverness at 8:35 AM. All services require a transfer, and take on average 4h 9m. The schedules shown below are for the next available departures.

3h 6m • 1 change

3h 14m • 1 change

3h 46m • 1 change

3h 5m • 1 change

3h 12m • 1 change

3h 52m • 1 change

3h 6m • 1 change

3h 14m • 1 change

3h 12m • 1 change

3h 52m • 1 change

3h 6m • 1 change

3h 14m • 1 change

3h 12m • 1 change

3h 52m • 1 change

3h 6m • 1 change

3h 14m • 1 change

3h 12m • 1 change

3h 52m • 1 change

3h 6m • 1 change

3h 14m • 1 change
Want to know about travelling from Kinghorn to Inverness? 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 Kinghorn to Inverness. However, there are services departing from Kinghorn station and arriving at Inverness station via Perth. The journey, including transfers, takes approximately 4h 9m.
Kinghorn to Inverness train services, operated by ScotRail, depart from Kinghorn station.
Kinghorn to Inverness train services, operated by ScotRail, arrive at Inverness station.
Book your Kinghorn to Inverness train tickets online with ScotRail, London North Eastern Railway Limited (LNER) and Caledonian Sleeper.
The distance between Kinghorn and Inverness is 169.2 km. The road distance is 242 km.
You can take a train from Kinghorn to Inverness via Perth in around 4h 11m.