The average bus between Elgin and Perth takes 4h 27m and the fastest bus takes 3h 52m. The bus service runs several times per day from Elgin 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 4 times a day between Elgin and Perth. The earliest departure is at 5:17 AM in the morning, and the last departure from Elgin is at 1:22 PM which arrives into Perth at 5:45 PM. All services require a transfer at Inverness Union Street and take an average of 4h 27m. The schedules shown below are for the next available departures.

4h 28m • 1 change

4h 13m • 1 change

4h 53m • 1 change

4h 23m • 1 change

3h 58m • 1 change

3h 52m • 1 change

5h 9m • 1 change

4h 28m • 1 change

3h 58m • 1 change

3h 52m • 1 change

5h 9m • 1 change

4h 28m • 1 change

4h 28m • 1 change

4h 13m • 1 change

4h 53m • 1 change

4h 23m • 1 change
Want to know about travelling from Elgin 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 Elgin to Perth. However, there are services departing from Elgin station and arriving at Perth station via Inverness Union Street. The journey, including transfers, takes approximately 4h 27m.
Elgin to Perth bus services, operated by Ember, depart from Elgin West Road station.
Elgin to Perth bus services, operated by Ember, arrive at Bus Station.
The distance between Elgin and Perth is 139.6 km. The road distance is 242 km.
You can take a bus from Elgin West Road to Bus Station via Inverness Union Street and Bus Station Stance 3 in around 3h 49m.