The average train between Inverness and Markinch takes 3h 35m and the fastest train takes 2h 46m. There is a train service every few hours from Inverness to Markinch. 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 2 hours between Inverness and Markinch. The earliest departure is at 5:35 AM in the morning, and the last departure from Inverness is at 8:45 PM which arrives into Markinch at 6:31 AM. All services require a transfer, and take on average 3h 35m. The schedules shown below are for the next available departures.

2h 57m • 1 change

3h 3m • 1 change

3h 8m • 1 change

3h 5m • 1 change

3h 3m • 1 change

3h 4m • 1 change

2h 58m • 1 change

3h 3m • 1 change

3h 1m • 1 change

3h 8m • 1 change

2h 57m • 1 change

3h 3m • 1 change

3h 1m • 1 change

3h 8m • 1 change

2h 57m • 1 change

3h 3m • 1 change
Want to know about travelling from Inverness to Markinch? 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 Markinch. However, there are services departing from Inverness station and arriving at Markinch station via Perth. The journey, including transfers, takes approximately 3h 35m.
Inverness to Markinch train services, operated by London North Eastern Railway Limited (LNER), depart from Inverness station.
Inverness to Markinch train services, operated by London North Eastern Railway Limited (LNER), arrive at Perth station.
Book your Inverness to Markinch train tickets online with London North Eastern Railway Limited (LNER), ScotRail and Caledonian Sleeper.
The distance between Inverness and Markinch is 156.7 km. The road distance is 225 km.
ScotRail operates a train from Inverness to Perth every 3 hours. Tickets cost £50–95 and the journey takes 2h 23m. Two other operators also service this route.