There are 4 ways to get from Perth to Elgin by train, bus, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Perth to Elgintrain Glasgow Queen Street - Inverness / ...
3h 9m£70–130Bus
cheapest- Take the bus from Perth station to Inverness Union Streetbus Ember
- Take the bus from Inverness Union Street to Elgin West Roadbus Ember
4h 5m£20–28Drive 116.9 mi
- Drive from Perth to Elgincar 116.9 mi
2h 27m£29–42Train via Aberdeen
- Take the train from Perth to Aberdeentrain Glasgow Queen Street - Aberdeen / ...
- Take the train from Aberdeen to Elgintrain
3h 38m£70–125
Perth to Elgin by train
Questions & Answers
The cheapest way to get from Perth to Elgin is to bus which costs £19 - £28 and takes 4h 5m.
The fastest way to get from Perth to Elgin is to drive which takes 2h 27m and costs £28 - £45.
No, there is no direct bus from Perth station to Elgin. However, there are services departing from Perth station and arriving at Elgin West Road via Inverness Union Street. The journey, including transfers, takes approximately 4h 5m.
Yes, there is a direct train departing from Perth and arriving at Elgin. Services depart once daily, and operate every day. The journey takes approximately 3h 9m.
The distance between Perth and Elgin is 161 miles. The road distance is 117.6 miles.
The best way to get from Perth to Elgin without a car is to train which takes 3h 9m and costs £70 - £130.
The train from Perth to Elgin takes 3h 9m including transfers and departs once daily.
Perth to Elgin bus services, operated by Ember, depart from Perth station.
Perth to Elgin train services, operated by ScotRail, depart from Perth station.
The best way to get from Perth to Elgin is to train which takes 3h 9m and costs £70 - £130. Alternatively, you can bus, which costs £19 - £28 and takes 4h 5m.
What companies run services between Perth, Scotland and Elgin, Scotland?
ScotRail operates a train from Perth to Elgin once daily. Tickets cost £70–130 and the journey takes 3h 9m. Alternatively, you can take a bus from Perth station to Elgin West Road via Inverness Union Street in around 4h 5m.
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Perth to Elgin
- Ave. Duration
- 3h 9m
- Frequency
- Once daily
- Estimated price
- £70–130
- Website
- https://www.scotrail.co.uk/
Train from Perth to Aberdeen
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- £40–75
- Website
- https://www.scotrail.co.uk/
Train from Aberdeen to Elgin
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Estimated price
- £30–55
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Perth station to Inverness Union Street
- Ave. Duration
- 2h 23m
- Frequency
- Every 2 hours
- Estimated price
- £12–18
- Website
- https://www.ember.to/
Bus from Inverness Union Street to Elgin West Road
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- https://www.ember.to/
Want to know more about travelling around United Kingdom
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Travelling to the UK: What do I need to know?
Read the travel guide
More Questions & Answers
Perth to Elgin bus services, operated by Ember, arrive at Inverness Union Street station.
Perth to Elgin train services, operated by ScotRail, arrive at Elgin station.
Yes, the driving distance between Perth to Elgin is 118 miles. It takes approximately 2h 27m to drive from Perth to Elgin.
Book your Perth to Elgin train tickets online with Omio.
There are 248+ hotels available in Elgin.




