There are 4 ways to get from Elgin to Perth by bus, train, 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.
Bus
best- Take the bus from Elgin West Road to Inverness Union Streetbus Ember
- Take the bus from Bus Station Stance 3 to Bus Stationbus Uk093 / ...
3h 49m£17–28Train
- Take the train from Elgin to Invernesstrain Aberdeen - Inverness / ...
- Take the train from Inverness to Perthtrain Inverness - Glasgow Queen Street / ...
3h 58m£41–124Drive 117 mi
- Drive from Elgin to Perthcar 117 mi
2h 29m£29–42Bus via Nairn
- Take the bus from Bus Station Stance 3 to Bus Stationbus Uk093 / ...
4h 17m£20–33
Questions & Answers
The cheapest way to get from Elgin to Perth is to bus which costs £17 - £28 and takes 3h 49m.
The fastest way to get from Elgin to Perth is to drive which takes 2h 29m and costs £28 - £45.
No, there is no direct bus from Elgin to Perth station. However, there are services departing from Elgin West Road and arriving at Bus Station via Bus Station Stance 3. The journey, including transfers, takes approximately 3h 49m.
No, there is no direct train from Elgin to Perth. However, there are services departing from Elgin and arriving at Perth via Inverness. The journey, including transfers, takes approximately 3h 58m.
The distance between Elgin and Perth is 151 miles. The road distance is 117.7 miles.
The best way to get from Elgin to Perth without a car is to bus which takes 3h 49m and costs £17 - £28.
It takes approximately 3h 49m 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 bus which takes 3h 49m and costs £17 - £28. Alternatively, you can train, which costs £40 - £130 and takes 3h 58m.
What companies run services between Elgin, Scotland and Perth, Scotland?
You can take a bus from Elgin West Road to Bus Station via Inverness Union Street and Bus Station Stance 3 in around 3h 49m. Alternatively, you can take a train from Elgin to Perth via Inverness in around 3h 58m.
- Phone
- +44 344 811 0141
- Website
- 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 14m
- 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–50
- 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
- £25–45
- 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/
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
- Hourly
- Estimated price
- £10–18
- 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 Inverness station.
Yes, the driving distance between Elgin to Perth is 118 miles. It takes approximately 2h 29m to drive from Elgin to Perth.
Book your Elgin to Perth train tickets online with Omio.
There are 331+ hotels available in Perth.


















