There are 5 ways to get from Elgin to Perth 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 via Aberdeen
best- Take the train from Elgin to Aberdeentrain
- Take the train from Aberdeen to Perthtrain Aberdeen - Glasgow Queen Street / ...
3h 47m£71–125Bus
cheapest- Take the bus from Elgin West Road to Inverness Union Streetbus Ember
- Take the bus from Inverness Union Street to Perth stationbus Ember
4h 29m£19–28Drive 117 mi
- Drive from Elgin to Perthcar 117 mi
2h 28m£30–43Train
- Take the train from Elgin to Invernesstrain Aberdeen - Inverness / ...
- Take the train from Inverness to Perthtrain Inverness - Glasgow Queen Street / ...
4h 5m£39–123Bus via Bus Station
- Take the bus from Bus Station to Bus Station Stance 4bus M96
- Take the bus from Bus Station Stance 3 to Bus Stationbus Uk093 / ...
4h 43m£20–32
Elgin to Perth by bus
Questions & Answers
The cheapest way to get from Elgin to Perth is to bus via Bus Station which costs £20 - £35 and takes 4h 43m.
The fastest way to get from Elgin to Perth is to drive which takes 2h 28m and costs £29 - £45.
No, there is no direct bus from Elgin to Perth station. However, there are services departing from Elgin West Road and arriving at Perth station via Inverness Union Street. The journey, including transfers, takes approximately 4h 29m.
No, there is no direct train from Elgin to Perth. However, there are services departing from Elgin and arriving at Perth via Aberdeen. The journey, including transfers, takes approximately 3h 47m.
The distance between Elgin and Perth is 161 miles. The road distance is 117.7 miles.
The best way to get from Elgin to Perth without a car is to train via Aberdeen which takes 3h 47m and costs £70 - £130.
It takes approximately 3h 47m to get from Elgin to Perth, including transfers.
Elgin to Perth bus services, operated by Ember, depart from Elgin West Road station.
Elgin to Perth train services, operated by ScotRail, depart from Elgin station.
The best way to get from Elgin to Perth is to train via Aberdeen which takes 3h 47m and costs £70 - £130. Alternatively, you can bus, which costs £19 - £28 and takes 4h 29m.
What companies run services between Elgin, Scotland and Perth, Scotland?
You can take a train from Elgin to Perth via Aberdeen in around 3h 47m. Alternatively, you can take a bus from Elgin West Road to Perth station via Inverness Union Street in around 4h 29m.
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Elgin to Aberdeen
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £30–55
- Website
- https://www.scotrail.co.uk/
Train from Aberdeen to Perth
- Ave. Duration
- 1h 33m
- Frequency
- Hourly
- Estimated price
- £40–70
- Website
- https://www.scotrail.co.uk/
Train from Elgin to Inverness
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- £16–29
- Website
- https://www.scotrail.co.uk/
Train from Inverness to Perth
- Ave. Duration
- 2h 23m
- Frequency
- Every 3 hours
- Estimated price
- £50–95
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 345 722 5333
- customers@lner.co.uk
- Website
- lner.co.uk
Train from Inverness to Perth
- Ave. Duration
- 2h 2m
- Frequency
- Once daily
- Estimated price
- £30–55
- Website
- https://www.lner.co.uk/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Inverness to Perth
- Ave. Duration
- 2h 38m
- Frequency
- 6 times a week
- Estimated price
- £23–40
- Website
- https://www.sleeper.scot/
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Elgin West Road to Inverness Union Street
- Ave. Duration
- 1h 4m
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- https://www.ember.to/
Bus from Inverness Union Street to Perth station
- Ave. Duration
- 2h 25m
- Frequency
- Every 2 hours
- Estimated price
- £12–18
- Website
- https://www.ember.to/
- Phone
- 01224591381
- bluebird.enquiries@stagecoachbus.com
- Website
- stagecoachbus.com
Bus from Bus Station to Bus Station Stance 4
- Ave. Duration
- 1h 18m
- Frequency
- Hourly
- Estimated price
- £10–13
- Website
- https://www.stagecoachbus.com/
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Bus Station Stance 3 to Bus Station
- Ave. Duration
- 2h 25m
- Frequency
- Every 3 hours
- Estimated price
- £10–19
- Website
- https://www.flixbus.co.uk
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
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Elgin to Perth bus services, operated by Ember, arrive at Inverness Union Street station.
Elgin to Perth train services, operated by ScotRail, arrive at Aberdeen station.
Yes, the driving distance between Elgin to Perth is 118 miles. It takes approximately 2h 28m to drive from Elgin to Perth.
Book your Elgin to Perth train tickets online with Omio.
There are 307+ hotels available in Perth.



















