There are 5 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 via Aberdeen
best- Take the bus from Bus Station to Union Square Bus Stationbus M96 / ...
- Take the bus from Union Square Bus Station to Overgatebus Uk091 / ...
4h 7m£13–22Train
- Take the train from Elgin to Invernesstrain Aberdeen - Inverness / ...
- Take the train from Inverness to Perthtrain Inverness - Glasgow Queen Street / ...
4h 8m£40–98Drive 117 mi
- Drive from Elgin to Perthcar 117 mi
2h 29m£29–42Bus, train
- Take the bus from Bus Station to Bus Station Stance 5bus M96 / ...
- Take the train from Inverness to Perthtrain Inverness - Glasgow Queen Street / ...
4h 41m£28–77Bus
- Take the bus from Elgin West Road to Inverness Union Streetbus Ember
- Take the bus from Inverness Union Street to Perth stationbus Ember
4h 57m£19–28
Elgin to Perth by bus
Comparing Your Travel Options
The cheapest way to get from Elgin to Perth is to bus via Aberdeen which costs £13 - £22 and takes 4h 7m.
The fastest way to get from Elgin to Perth is to drive which takes 2h 29m and costs £29 - £45.
No, there is no direct bus from Elgin station to Perth. However, there are services departing from Bus Station and arriving at Canal Street via Union Square Bus Station and Nethergate. The journey, including transfers, takes approximately 4h 7m.
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 4h 8m.
The distance between Elgin and Perth is 155 miles. The road distance is 117.7 miles.
The best way to get from Elgin to Perth without a car is to bus via Aberdeen which takes 4h 7m and costs £13 - £22.
It takes approximately 4h 7m to get from Elgin to Perth, including transfers.
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 bus via Aberdeen which takes 4h 7m and costs £13 - £22. Alternatively, you can train, which costs £40 - £100 and takes 4h 8m.
What companies run services between Elgin, Scotland and Perth, Scotland?
You can take a bus from Bus Station to Canal Street via Union Square Bus Station, Overgate, and Nethergate in around 4h 7m. Alternatively, you can take a train from Elgin to Perth via Inverness in around 4h 8m.
- Phone
- +44 (0)344 811 0141
- Website
- ScotRail
Train from Elgin to Inverness
- Ave. Duration
- 47 min
- Frequency
- Hourly
- Estimated price
- £14–23
- Website
- ScotRail
Train from Inverness to Perth
- Ave. Duration
- 2h 23m
- Frequency
- Every 3 hours
- Estimated price
- £45–75
- Website
- ScotRail
Train from Inverness to Perth
- Ave. Duration
- 2h 23m
- Frequency
- Every 3 hours
- Estimated price
- £45–75
- Website
- ScotRail
Train from Inverness to Perth
- Ave. Duration
- 2h 2m
- Frequency
- Once daily
- Estimated price
- £35–55
- Website
- London North Eastern Railway Limited (LNER)
Train from Inverness to Perth
- Ave. Duration
- 2h 2m
- Frequency
- Once daily
- Estimated price
- £35–55
- Website
- London North Eastern Railway Limited (LNER)
- Phone
- +44 330 060 0500
- Website
- Caledonian Sleeper
Train from Inverness to Perth
- Ave. Duration
- 2h 38m
- Frequency
- 6 times a week
- Estimated price
- £26–40
- Website
- Caledonian Sleeper
Train from Inverness to Perth
- Ave. Duration
- 2h 38m
- Frequency
- 6 times a week
- Estimated price
- £26–40
- Website
- Caledonian Sleeper
- Phone
- 0345 241 8000
- Website
- Stagecoach North Scotland
Bus from Bus Station to Union Square Bus Station
- Ave. Duration
- 2h 1m
- Frequency
- Every 30 minutes
- Estimated price
- £2
- Website
- Stagecoach North Scotland
Bus from Bus Station to Bus Station Stance 5
- Ave. Duration
- 1h 20m
- Frequency
- Every 30 minutes
- Estimated price
- £2
- Website
- Stagecoach North Scotland
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Union Square Bus Station to Overgate
- Ave. Duration
- 1h 20m
- Frequency
- Every 5 minutes
- Estimated price
- £7–12
- Website
- Flixbus
- Phone
- +44 (0)131 510 4007
- [email protected]
- Website
- Ember
Bus from Elgin West Road to Inverness Union Street
- Ave. Duration
- 1h 4m
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- Ember
Bus from Inverness Union Street to Perth station
- Ave. Duration
- 2h 53m
- Frequency
- Every 2 hours
- Estimated price
- £12–18
- 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
Elgin to Perth bus services, operated by Stagecoach North Scotland, arrive at Union Square Bus 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 558+ hotels available in Perth.























