The average bus between Stirling and Dalkeith takes 2h 25m and the fastest bus takes 2h 12m. The bus service runs several times per day from Stirling 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 3 hours between Stirling and Dalkeith. The earliest departure is at 6:20 AM in the morning, and the last departure from Stirling is at 7:50 PM which arrives into Dalkeith at 10:10 PM. All services require a transfer, and take on average 2h 25m. The schedules shown below are for the next available departures.

2h 30m • 1 change

2h 19m • 1 change

2h 27m • 1 change

2h 23m • 1 change

2h 30m • 1 change

2h 19m • 1 change

2h 27m • 1 change

2h 23m • 1 change

2h 30m • 1 change

2h 19m • 1 change

2h 27m • 1 change

2h 23m • 1 change

2h 13m • 1 change

2h 16m • 1 change

2h 28m • 1 change

2h 26m • 1 change

2h 28m • 1 change

2h 31m • 1 change

2h 30m • 1 change

2h 34m • 1 change
Want to know about travelling from Stirling 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 Stirling to Dalkeith. However, there are services departing from Stirling station and arriving at Dalkeith station via Princes Street. The journey, including transfers, takes approximately 2h 25m.
Stirling to Dalkeith bus services, operated by Scottish Citylink Coaches Ltd, depart from Bus Station.
Stirling to Dalkeith bus services, operated by Scottish Citylink Coaches Ltd, arrive at Buccleuch Street station.
The distance between Stirling and Dalkeith is 59.4 km. The road distance is 75 km.
You can take a bus from Bus Station to Buccleuch Street via Princes Street in around 2h 19m.