The average bus between Elgin and Perth takes 4h 29m and the fastest bus takes 3h 36m. 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 every 2 hours between Elgin and Perth. The earliest departure is at 5:47 AM in the morning, and the last departure from Elgin is at 11:20 PM which arrives into Perth at 3:06 AM. All services require a transfer, and take on average 4h 29m. The schedules shown below are for the next available departures.

4h 1m • 1 change

4h 11m • 1 change

4h 8m • 1 change

5h 17m • 1 change

4h 1m • 1 change

4h 11m • 1 change

4h 8m • 1 change

5h 17m • 1 change

4h 1m • 1 change

4h 11m • 1 change

4h 8m • 1 change

5h 17m • 1 change

4h 35m • 1 change

4h 49m • 1 change

4h 13m • 1 change

5h 28m • 1 change

4h 23m • 1 change

4h 49m • 1 change

4h 3m • 1 change

5h 28m • 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 29m.
Elgin to Perth bus services, operated by Ember, depart from Elgin West Road station.
Elgin to Perth bus services, operated by Ember, arrive at Perth station.
The distance between Elgin and Perth is 139.6 km. The road distance is 243 km.
You can take a bus from Elgin West Road to Perth station via Inverness Union Street in around 4h 29m.