The average bus between Perth and Eddleston takes 3h 34m and the fastest bus takes 2h 40m. There is a bus service every few hours from Perth to Eddleston. 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 Perth and Eddleston. The earliest departure is at 6:20 AM in the morning, and the last departure from Perth is at 9:05 PM which arrives into Eddleston at 8:15 AM. All services require a transfer, and take on average 3h 34m. The schedules shown below are for the next available departures.

2h 55m • 1 change

3h 23m • 1 change

2h 43m • 1 change

2h 40m • 1 change

2h 55m • 1 change

3h 23m • 1 change

2h 43m • 1 change

2h 40m • 1 change

2h 55m • 1 change

3h 23m • 1 change

2h 43m • 1 change

2h 40m • 1 change

2h 55m • 1 change

3h 23m • 1 change

2h 43m • 1 change

2h 40m • 1 change
Want to know about travelling from Perth to Eddleston? 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 Perth to Eddleston. However, there are services departing from Perth station and arriving at Eddleston station via Edinburgh, Bus Station station. The journey, including transfers, takes approximately 3h 34m.
Perth to Eddleston bus services, operated by Scottish Citylink Coaches Ltd, depart from Bus Station.
Perth to Eddleston bus services, operated by Scottish Citylink Coaches Ltd, arrive at Horseshoe Inn station.
The distance between Perth and Eddleston is 77.2 km. The road distance is 108 km.
You can take a bus from Bus Station to Horseshoe Inn via Edinburgh, Bus Station in around 2h 49m.