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
best- Take the train from Elgin to PerthInverness - Edinburgh
3h 13m£40–90Train via Aberdeen
cheapest- Take the train from Elgin to Aberdeen
- Take the train from Aberdeen to PerthAberdeen - Glasgow Queen Street / ...
3h 45m£14–82Bus
- Take the bus from Bus Station to Bus Station Stance 4M96
- Take the bus from Bus Station Stance 3 to Bus StationUk093 / ...
3h 56m£17–30Drive 117 mi
- Drive from Elgin to Perth117 mi
2h 27m£30–43Bus via Braelossie Place
- Take the bus from Braelossie Place to Union StreetE7
- Take the bus from Union Street to Leonard StreetE9
4h 1m
Elgin to Perth by train
Questions & Answers
The cheapest way to get from Elgin to Perth is to bus which costs £17 - £30 and takes 3h 56m.
The fastest way to get from Elgin to Perth is to drive which takes 2h 27m and costs £29 - £45.
No, there is no direct bus from Elgin station to Perth station. However, there are services departing from Bus Station and arriving at Bus Station via Bus Station Stance 3. The journey, including transfers, takes approximately 3h 56m.
Yes, there is a direct train departing from Elgin and arriving at Perth. Services depart six times a week, and operate Monday to Saturday. The journey takes approximately 3h 13m.
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 which takes 3h 13m and costs £40 - £90.
The train from Elgin to Perth takes 3h 13m including transfers and departs six times a week.
Elgin to Perth bus services, operated by Stagecoach North Scotland, depart from Bus 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 which takes 3h 13m and costs £40 - £90. Alternatively, you can bus, which costs £17 - £30 and takes 3h 56m.
What companies run services between Elgin, Scotland and Perth, Scotland?
ScotRail operates a train from Elgin to Perth 6 times a week. Tickets cost £40–90 and the journey takes 3h 13m. Alternatively, you can take a bus from Bus Station to Bus Station via Bus Station Stance 3 in around 3h 56m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Elgin to Perth
- Ave. Duration
- 3h 13m
- Frequency
- 6 times a week
- Estimated price
- £40–90
- Website
- https://www.scotrail.co.uk/
- Standard
- £40–55
- 1st Class
- £60–90
Train from Elgin to Aberdeen
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £12–27
- Website
- https://www.scotrail.co.uk/
Train from Aberdeen to Perth
- Ave. Duration
- 1h 33m
- Frequency
- Hourly
- Estimated price
- £21–55
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Aberdeen to Perth
- Ave. Duration
- 1h 49m
- Frequency
- 3 times a week
- Estimated price
- £2–3
- Website
- https://www.sleeper.scot/
- Sleeper Berth Classic
- £1–2
- Sleeper Seat
- £2–3
- Sleeper Berth Club Solo
- £21–25
- 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 30 minutes
- Estimated price
- £7–13
- Website
- https://www.flixbus.co.uk
- Phone
- 0141 352 4444
- enquiries@megabus.com
- Website
- uk.megabus.com
Bus from Bus Station Stance 3 to Bus Station
- Ave. Duration
- 2h 35m
- Frequency
- Twice daily
- Estimated price
- £12–17
- Website
- https://uk.megabus.com
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Braelossie Place to Union Street
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Website
- https://www.ember.to/
Bus from Union Street to Leonard Street
- Ave. Duration
- 2h 23m
- Frequency
- Hourly
- 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
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Elgin to Perth bus services, operated by Stagecoach North Scotland, arrive at Bus Station Stance 4.
Elgin to Perth train services, operated by ScotRail, arrive at Perth station.
Yes, the driving distance between Elgin to Perth is 118 miles. It takes approximately 2h 27m to drive from Elgin to Perth.
Book your Elgin to Perth train tickets online with Omio.
There are 518+ hotels available in Perth.



















