The average bus between Aviemore and Dalkeith takes 4h 10m and the fastest bus takes 3h 29m. The bus service runs several times per day from Aviemore 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 Aviemore and Dalkeith. The earliest departure is at 1:25 AM at night, and the last departure from Aviemore is at 11:43 PM which arrives into Dalkeith at 3:42 AM. All services require a transfer at George Street and take an average of 4h 10m. The schedules shown below are for the next available departures.

3h 48m • 1 change

4h 31m • 1 change

4h 21m • 1 change

4h 16m • 1 change

3h 55m • 1 change

3h 48m • 1 change

4h 32m • 1 change

4h 21m • 1 change

3h 55m • 1 change

3h 48m • 1 change

4h 32m • 1 change

4h 21m • 1 change

3h 55m • 1 change

3h 48m • 1 change

4h 32m • 1 change

4h 21m • 1 change

3h 55m • 1 change

3h 48m • 1 change

4h 32m • 1 change

4h 21m • 1 change
Want to know about travelling from Aviemore 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 Aviemore to Dalkeith. However, there are services departing from Aviemore station and arriving at Dalkeith station via George Street. The journey, including transfers, takes approximately 4h 10m.
Aviemore to Dalkeith bus services, operated by Ember, depart from Aviemore station.
Aviemore to Dalkeith bus services, operated by Ember, arrive at George Street station.
The distance between Aviemore and Dalkeith is 151.8 km. The road distance is 220 km.
Ember operates a bus from Aviemore station to George Street every 2 hours. Tickets cost £13–20 and the journey takes 3h 8m.