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 9m£60–110Bus via Aberdeen
cheapest- Take the bus from Seagate Bus Station to Union Square Bus Stationbus M9 / ...
- Take the bus from Union Square Bus Station to Bus Stationbus M96 / ...
4h 38m£15–33Bus
- Take the bus from Perth station to Inverness Union Streetbus Ember
- Take the bus from Inverness Union Street to Elgin West Roadbus Ember
4h 23m£19–27Drive 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–96
Perth to Elgin by train
Comparing Your Travel Options
The cheapest way to get from Perth to Elgin is to bus via Aberdeen which costs £15 - £35 and takes 4h 38m.
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. 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 23m.
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 £60 - £110.
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 £60 - £110. Alternatively, you can bus, which costs £19 - £28 and takes 4h 23m.
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 9m. Alternatively, you can take a bus from Perth station to Elgin West Road via Inverness Union Street in around 4h 23m.
- Phone
- +44 (0)344 811 0141
- Website
- ScotRail
Train from Perth to Elgin
- Ave. Duration
- 3h 9m
- 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
- +44 (0)131 510 4007
- [email protected]
- Website
- Ember
Bus from Perth station to Inverness Union Street
- Ave. Duration
- 2h 40m
- Frequency
- Every 2 hours
- 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
- Phone
- 0141 352 4444
- [email protected]
- Website
- Scottish Citylink Coaches Ltd
Bus from Seagate Bus Station to Union Square Bus Station
- Ave. Duration
- 1h 23m
- Frequency
- Every 20 minutes
- Estimated price
- £12–23
- Website
- Scottish Citylink Coaches Ltd
- Single
- £12–23
- Phone
- 01698 653164
- [email protected]
- Website
- Park's of Hamilton
Bus from Seagate Bus Station to Union Square Bus Station
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- £9–13
- Website
- Park's of Hamilton
- Phone
- 0345 241 8000
- [email protected]
- Website
- Stagecoach East Scotland
Bus from Seagate Bus Station to Union Square Bus Station
- Ave. Duration
- 2h 52m
- Frequency
- 5 times a week
- Estimated price
- £11–16
- Website
- Stagecoach East Scotland
- Phone
- 0345 241 8000
- Website
- Stagecoach North Scotland
Bus from Union Square Bus Station to Bus Station
- Ave. Duration
- 2h 14m
- Frequency
- Every 30 minutes
- Estimated price
- £2
- Website
- Stagecoach North Scotland
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
Booking & Getting There
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 29m to drive from Perth to Elgin.
Book your Perth to Elgin train tickets online with Omio.
There are 431+ hotels available in Elgin.



























