The average bus between Perth and Elgin takes 4h 33m and the fastest bus takes 3h 37m. The bus service runs several times per day from Perth to Elgin. 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 Perth and Elgin. The earliest departure is at 12:16 AM at night, and the last departure from Perth is at 11:05 PM which arrives into Elgin at 3:18 AM. All services require a transfer, and take on average 4h 33m. The schedules shown below are for the next available departures.

4h 11m • 1 change
5h 2m • 1 change
4h 47m • 1 change
4h 44m • 1 change
3h 38m • 1 change
3h 56m • 1 change
4h 14m • 1 change
4h 14m • 1 change
4h 2m • 1 change
4h 26m • 1 change
4h 14m • 1 change
4h 14m • 1 change
4h 2m • 1 change
4h 3m • 1 change
4h 11m • 1 change
4h 58m • 1 change
3h 50m • 1 change
3h 37m • 1 change
4h 11m • 1 change
4h 58m • 1 change
3h 50m • 1 change
3h 37m • 1 change
4h 11m • 1 change
4h 58m • 1 change
3h 50m • 1 change
3h 37m • 1 change
4h 11m • 1 change
4h 58m • 1 changeWant to know about travelling from Perth to Elgin? 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 Elgin. However, there are services departing from Perth station and arriving at Elgin West Road station via Inverness Union Street station. The journey, including transfers, takes approximately 4h 33m.
Perth to Elgin bus services, operated by Ember, depart from Perth station.
Perth to Elgin bus services, operated by Ember, arrive at Elgin West Road station.
The distance between Perth and Elgin is 139.6 km. The road distance is 188 km.
You can take a bus from Perth station to Elgin West Road via Inverness Union Street in around 4h 23m.