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

4h 13m • 1 change

4h 15m • 1 change

4h 34m • 1 change

4h 27m • 1 change

4h 17m • 1 change

4h 25m • 1 change

4h 13m • 1 change

4h 15m • 1 change

4h 18m • 1 change

4h 25m • 1 change

4h 12m • 1 change

4h 12m • 1 change

4h 7m • 1 change

3h 52m • 1 change
Arrives next day

9h 18m • 1 change

4h 17m • 1 change

4h 25m • 1 change

4h 13m • 1 change

4h 15m • 1 change

4h 17m • 1 change

4h 25m • 1 change

4h 13m • 1 change

4h 15m • 1 change

4h 17m • 1 change

4h 25m • 1 change

4h 13m • 1 change

4h 15m • 1 change
Want to know about travelling from Midlothian 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 Midlothian to Inverness. However, there are services departing from Midlothian station and arriving at Inverness station via Inverness. The journey, including transfers, takes approximately 5h 14m.
Midlothian to Inverness train services, operated by ScotRail, depart from Edinburgh Waverley station.
Midlothian to Inverness train services, operated by ScotRail, arrive at Inverness station.
Book your Midlothian to Inverness train tickets online with ScotRail, London North Eastern Railway Limited (LNER) and Caledonian Sleeper.
The distance between Midlothian and Inverness is 195.8 km. The road distance is 316 km.
ScotRail operates a train from Edinburgh Waverley to Inverness 5 times a day. Tickets cost £80–150 and the journey takes 3h 43m. Two other operators also service this route.