The average train between Inverness and Midlothian takes 5h 1m and the fastest train takes 3h 46m. The train service runs several times per day from Inverness to Midlothian. 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 Inverness and Midlothian. The earliest departure is at 4:54 AM at night, and the last departure from Inverness is at 8:45 PM which arrives into Midlothian at 6:39 AM. All services require a transfer, and take on average 5h 1m. The schedules shown below are for the next available departures.

4h 24m • 1 change

4h 17m • 1 change
Arrives next day

9h 56m • 1 change

5h 17m • 1 change

4h 33m • 1 change

4h 16m • 1 change

4h 29m • 1 change

5h 17m • 1 change

4h 33m • 1 change

4h 16m • 1 change

4h 29m • 1 change

5h 17m • 1 change

4h 33m • 1 change

4h 16m • 1 change

4h 29m • 1 change

5h 17m • 1 change

4h 33m • 1 change

4h 16m • 1 change

4h 29m • 1 change

5h 17m • 1 change

4h 27m • 1 change

4h 16m • 1 change

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