The average bus between Elgin and Perth takes 5h 28m and the fastest bus takes 4h 18m. 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 4:05 AM at night, and the last departure from Elgin is at 10:24 PM which arrives into Perth at 6:51 AM. All services require a transfer at Union Square Bus Station and take an average of 5h 28m. The schedules shown below are for the next available departures.


5h 33m • 2 changes

5h 33m • 2 changes

4h 33m • 2 changes

4h 48m • 2 changes

5h 40m • 2 changes

4h 18m • 2 changes

5h 33m • 2 changes

5h 33m • 2 changes

5h 40m • 2 changes

4h 18m • 2 changes

5h 33m • 2 changes

5h 33m • 2 changes

5h 40m • 2 changes

4h 18m • 2 changes

5h 33m • 2 changes

5h 33m • 2 changes

5h 40m • 2 changes

4h 18m • 2 changes

5h 33m • 2 changes

5h 33m • 2 changes

4h 59m • 2 changes

5h 18m • 2 changes

6h 14m • 2 changes

6h 14m • 2 changes

5h 40m • 2 changes

4h 18m • 2 changes

5h 33m • 2 changes

5h 33m • 2 changesWant 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 Bus Station and arriving at Overgate station via Union Square Bus Station. The journey, including transfers, takes approximately 5h 28m.
Elgin to Perth bus services, operated by Stagecoach North Scotland, depart from Bus Station.
Elgin to Perth bus services, operated by FlixBus, arrive at Overgate station.
The distance between Elgin and Perth is 139.6 km. The road distance is 188 km.
You can take a bus from Bus Station to Canal Street via Union Square Bus Station, Overgate, and Nethergate in around 4h 25m.