The average bus between Perth and Eddleston takes 3h 29m 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 hourly between Perth and Eddleston. The earliest departure is at 6:20 AM in the morning, and the last departure from Perth is at 9:10 PM which arrives into Eddleston at 8:15 AM. All services require a transfer, and take on average 3h 29m. 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 29m.
Perth to Eddleston bus services, operated by Park's of Hamilton, depart from Bus Station.
Perth to Eddleston bus services, operated by Park's of Hamilton, arrive at Horseshoe Inn station.
The distance between Perth and Eddleston is 77.2 km. The road distance is 109 km.
You can take a bus from Bus Station to Horseshoe Inn via Edinburgh, Bus Station in around 3h.