The average bus between Inverness and Dalkeith takes 4h 57m and the fastest bus takes 4h 14m. The bus service runs several times per day from Inverness to Dalkeith. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run every 2 hours between Inverness and Dalkeith. The earliest departure is at 12:17 AM at night, and the last departure from Inverness is at 11:00 PM which arrives into Dalkeith at 3:42 AM. All services require a transfer at George Street and take an average of 4h 57m. The schedules shown below are for the next available departures.

5h 21m • 1 change

5h • 1 change

4h 53m • 1 change

4h 55m • 1 change

5h 3m • 1 change

4h 31m • 1 change

5h 16m • 1 change

5h 7m • 1 change

4h 38m • 1 change

4h 31m • 1 change

5h 18m • 1 change

5h 7m • 1 change

4h 38m • 1 change

4h 31m • 1 change

5h 18m • 1 change

5h 7m • 1 change

4h 38m • 1 change

4h 31m • 1 change

5h 18m • 1 change

5h 7m • 1 change
Want to know about travelling from Inverness to Dalkeith? 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 bus from Inverness to Dalkeith. However, there are services departing from Inverness station and arriving at Dalkeith station via George Street. The journey, including transfers, takes approximately 4h 57m.
Inverness to Dalkeith bus services, operated by Ember, depart from Inverness Union Street station.
Inverness to Dalkeith bus services, operated by Ember, arrive at George Street station.
The distance between Inverness and Dalkeith is 189.8 km. The road distance is 270 km.
Ember operates a bus from Inverness Union Street to George Street every 2 hours. Tickets cost £16–22 and the journey takes 3h 51m.