The average bus between Inverness and Dalkeith takes 4h 56m 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 56m. The schedules shown below are for the next available departures.

5h 7m • 1 change

5h 5m • 1 change

5h 15m • 1 change

4h 53m • 1 change

4h 38m • 1 change

4h 31m • 1 change

5h 18m • 1 change

5h 7m • 1 change

5h 16m • 1 change

4h 29m • 1 change

5h 19m • 1 change

5h 6m • 1 change

6h 1m • 1 change

4h 52m • 1 change

5h 15m • 1 change

5h 14m • 1 change

5h 41m • 1 change

4h 29m • 1 change

5h 18m • 1 change

5h 5m • 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 56m.
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–23 and the journey takes 3h 51m.