There are 5 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 11m£60–110Bus
cheapest- Take the bus from Bus Station to Bus Station Stance 3bus M90
- Take the bus from Bus Station Stance 5 to Bus Stationbus M96 / ...
4h 33m£15–22Drive 116.9 mi
- Drive from Perth to Elgincar 116.9 mi
2h 29m£29–42Train via Inverness
- Take the train from Perth to Invernesstrain Edinburgh - Inverness / ...
- Take the train from Inverness to Elgintrain Inverness - Aberdeen / ...
3h 47m£40–96Bus via Elgin West Road
- Take the bus from Perth station to Inverness Union Streetbus Ember
- Take the bus from Inverness Union Street to Elgin West Roadbus Ember
4h 36m£19–27
Perth to Elgin by train
Comparing Your Travel Options
The cheapest way to get from Perth to Elgin is to bus which costs £15 - £22 and takes 4h 33m.
The fastest way to get from Perth to Elgin is to drive which takes 2h 29m and costs £28 - £45.
No, there is no direct bus from Perth station to Elgin station. However, there are services departing from Bus Station and arriving at Bus Station via Bus Station Stance 5. The journey, including transfers, takes approximately 4h 33m.
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 11m.
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 11m and costs £60 - £110.
The train from Perth to Elgin takes 3h 11m including transfers and departs once daily.
Perth to Elgin bus services, operated by Scottish Citylink Coaches Ltd, depart from Bus 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 11m and costs £60 - £110. Alternatively, you can bus, which costs £15 - £22 and takes 4h 33m.
What companies run services between Perth, Scotland and Elgin, Scotland?
ScotRail operates a train from Perth to Elgin once daily. Tickets cost £60–110 and the journey takes 3h 11m. Alternatively, you can take a bus from Bus Station to Bus Station via Bus Station Stance 5 in around 4h 33m.
- Phone
- +44 (0)344 811 0141
- Website
- ScotRail
Train from Perth to Elgin
- Ave. Duration
- 3h 11m
- Frequency
- Once daily
- Estimated price
- £60–110
- Website
- ScotRail
Train from Perth to Inverness
- Ave. Duration
- 2h 23m
- Frequency
- Every 3 hours
- Estimated price
- £45–75
- Website
- ScotRail
Train from Inverness to Elgin
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- £14–23
- Website
- ScotRail
Train from Perth to Inverness
- Ave. Duration
- 2h 12m
- Frequency
- Once daily
- Estimated price
- £35–55
- Website
- London North Eastern Railway Limited (LNER)
- Phone
- +44 330 060 0500
- Website
- Caledonian Sleeper
Train from Perth to Inverness
- Ave. Duration
- 2h 52m
- Frequency
- 6 times a week
- Estimated price
- £26–40
- Website
- Caledonian Sleeper
- Phone
- 0141 352 4444
- [email protected]
- Website
- Scottish Citylink Coaches Ltd
Bus from Bus Station to Bus Station Stance 3
- Ave. Duration
- 2h 37m
- Frequency
- Every 4 hours
- Estimated price
- £21–40
- Website
- Scottish Citylink Coaches Ltd
- Single
- £21–40
- Phone
- 01698 653164
- [email protected]
- Website
- Park's of Hamilton
Bus from Bus Station to Bus Station Stance 3
- Ave. Duration
- 2h 32m
- Frequency
- 4 times a day
- Estimated price
- £17–24
- Website
- Park's of Hamilton
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Bus Station to Bus Station Stance 3
- Ave. Duration
- 2h 25m
- Frequency
- 3 times a week
- Estimated price
- £13–20
- Website
- Flixbus
- Phone
- 0345 241 8000
- Website
- Stagecoach North Scotland
Bus from Bus Station Stance 5 to Bus Station
- Ave. Duration
- 1h 32m
- Frequency
- Hourly
- Estimated price
- £2
- Website
- Stagecoach North Scotland
- Phone
- +44 (0)131 510 4007
- [email protected]
- Website
- Ember
Bus from Perth station to Inverness Union Street
- Ave. Duration
- 2h 53m
- Frequency
- Hourly
- Estimated price
- £12–18
- Website
- Ember
Bus from Inverness Union Street to Elgin West Road
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- Ember
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
Booking & Getting There
Perth to Elgin bus services, operated by Scottish Citylink Coaches Ltd, arrive at Bus Station Stance 3.
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 29m to drive from Perth to Elgin.
Book your Perth to Elgin train tickets online with Omio.
There are 432+ hotels available in Elgin.






















