The average bus between Perth and Bonnyrigg takes 2h 34m and the fastest bus takes 1h 59m. The bus service runs several times per day from Perth to Bonnyrigg. 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 Perth and Bonnyrigg. The earliest departure is at 3:21 AM at night, and the last departure from Perth is at 9:34 PM which arrives into Bonnyrigg at 11:41 PM. All services require a transfer, and take on average 2h 34m. The schedules shown below are for the next available departures.

2h 53m • 1 change
2h 11m • 1 change
2h 23m • 1 change
2h 30m • 1 change
2h 53m • 1 change
2h 11m • 1 change
2h 23m • 1 change
2h 30m • 1 change
2h 53m • 1 change
2h 11m • 1 change
2h 23m • 1 change
2h 30m • 1 change
2h 53m • 1 change
2h 11m • 1 change
2h 23m • 1 change
2h 34m • 1 change
2h 17m • 1 change
2h 56m • 1 change
2h 23m • 1 change
2h 49m • 1 change
1h 59m • 1 change
2h 23m • 1 change
2h 41m • 1 change
2h 39m • 1 change
3h 24m • 1 change
2h 10m • 1 change
2h 49m • 1 change
2h 30m • 1 changeWant to know about travelling from Perth to Bonnyrigg? 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 Bonnyrigg. However, there are services departing from Perth station and arriving at Dobbies Road station via Haymarket station. The journey, including transfers, takes approximately 2h 34m.
Perth to Bonnyrigg bus services, operated by Ember, depart from Perth station.
Perth to Bonnyrigg bus services, operated by Lothian, arrive at Dobbies Road station.
The distance between Perth and Bonnyrigg is 61.5 km. The road distance is 82 km.
You can take a bus from Perth station to Dobbies Road via Haymarket Station in around 2h 27m.