The average bus between Haddington and Perth takes 2h 31m and the fastest bus takes 2h 14m. The bus service runs several times per day from Haddington to Perth. 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 5 times a day between Haddington and Perth. The earliest departure is at 8:08 AM in the morning, and the last departure from Haddington is at 10:34 PM which arrives into Perth at 1:12 AM. All services require a transfer at Waterloo Place and take an average of 2h 31m. The schedules shown below are for the next available departures.

2h 24m • 1 change

2h 42m • 1 change

2h 14m • 1 change

2h 20m • 1 change

2h 37m • 1 change

2h 45m • 1 change

2h 27m • 1 change

2h 23m • 1 change

2h 42m • 1 change

2h 25m • 1 change

2h 27m • 1 change

2h 23m • 1 change

2h 42m • 1 change

2h 25m • 1 change

2h 27m • 1 change

2h 23m • 1 change

2h 42m • 1 change

2h 25m • 1 change

2h 27m • 1 change

2h 23m • 1 change

2h 42m • 1 change

2h 25m • 1 change

2h 27m • 1 change

2h 23m • 1 change

2h 37m • 1 change

2h 45m • 1 change

2h 27m • 1 change

2h 23m • 1 change
Want to know about travelling from Haddington to Perth? 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 Haddington to Perth. However, there are services departing from Haddington station and arriving at Perth station via Waterloo Place. The journey, including transfers, takes approximately 2h 31m.
Haddington to Perth bus services, operated by East Coast Buses, depart from Police Station.
Haddington to Perth bus services, operated by East Coast Buses, arrive at Bus Station.
The distance between Haddington and Perth is 63.4 km. The road distance is 108 km.
You can take a bus from Police Station to Bus Station via Waterloo Place and Edinburgh, Bus Station in around 2h 50m.