There are 4 ways to get from Perth to Inverness 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 Invernesstrain Edinburgh - Inverness / ...
2h 23m£13–80Bus
cheapest- Take the bus from Leonard Street to Union Streetbus E9
2h 27m£6–25Drive 112.2 mi
- Drive from Perth to Invernesscar 112.2 mi
2h 4m£28–40Bus via Pitlochry
- Take the bus from Perth Bus Station to Pitlochry Fishers Hotel Bus Stationbus megabus M90 / ...
- Take the bus from Fishers Hotel to Bus Station Stance 3bus M90 / ...
2h 48m£13–31
Perth to Inverness by train
Questions & Answers
The cheapest way to get from Perth to Inverness is to bus which costs £6 - £25 and takes 2h 27m.
The fastest way to get from Perth to Inverness is to drive which takes 2h 4m and costs £27 - £40.
Yes, there is a direct bus departing from Leonard Street and arriving at Union Street. Services depart every 30 minutes, and operate every day. The journey takes approximately 2h 27m.
Yes, there is a direct train departing from Perth and arriving at Inverness. Services depart every two hours, and operate every day. The journey takes approximately 2h 23m.
The distance between Perth and Inverness is 117 miles. The road distance is 112.9 miles.
The best way to get from Perth to Inverness without a car is to train which takes 2h 23m and costs £13 - £80.
The train from Perth to Inverness takes 2h 23m including transfers and departs every two hours.
Perth to Inverness bus services, operated by Ember, depart from Leonard Street station.
Perth to Inverness train services, operated by ScotRail, depart from Perth station.
The best way to get from Perth to Inverness is to train which takes 2h 23m and costs £13 - £80. Alternatively, you can bus, which costs £6 - £25 and takes 2h 27m.
What companies run services between Perth, Scotland and Inverness, Scotland?
ScotRail operates a train from Perth to Inverness every 3 hours. Tickets cost £16–40 and the journey takes 2h 23m. Two other operators also service this route. Alternatively, Ember operates a bus from Leonard Street to Union Street hourly, and the journey takes 2h 27m. Four other operators also service this route.
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Perth to Inverness
- Ave. Duration
- 2h 23m
- Frequency
- Every 3 hours
- Estimated price
- £16–40
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 345 722 5333
- customers@lner.co.uk
- Website
- lner.co.uk
Train from Perth to Inverness
- Ave. Duration
- 2h 12m
- Frequency
- Once daily
- Estimated price
- £13–17
- Website
- https://www.lner.co.uk/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Perth to Inverness
- Ave. Duration
- 2h 52m
- Frequency
- 6 times a week
- Estimated price
- £60–80
- Website
- https://www.sleeper.scot/
- Sleeper Berth Classic
- £210–230
- Sleeper Seat
- £60–80
- Sleeper Berth Club Solo
- £240–280
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Leonard Street to Union Street
- Ave. Duration
- 2h 27m
- Frequency
- Hourly
- 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 Leonard Street to Union Street
- Ave. Duration
- 2h 25m
- Frequency
- Hourly
- Estimated price
- £6–13
- Website
- https://www.flixbus.co.uk
Bus from Fishers Hotel to Bus Station Stance 3
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- £5–13
- Website
- https://www.flixbus.co.uk
- Phone
- 0141 352 4444
- enquiries@megabus.com
- Website
- uk.megabus.com
Bus from Leonard Street to Union Street
- Ave. Duration
- 2h 32m
- Frequency
- Every 4 hours
- Estimated price
- £12–17
- Website
- https://uk.megabus.com
Bus from Perth Bus Station to Pitlochry Fishers Hotel Bus Station
- Ave. Duration
- 39 min
- Frequency
- Every 4 hours
- Estimated price
- £8–12
- Website
- https://uk.megabus.com
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- citylink.co.uk
Bus from Leonard Street to Union Street
- Ave. Duration
- 2h 32m
- Frequency
- Every 4 hours
- Estimated price
- £17–25
- Website
- https://www.citylink.co.uk/
Bus from Fishers Hotel to Bus Station Stance 3
- Ave. Duration
- 1h 53m
- Frequency
- Hourly
- Estimated price
- £14–20
- Website
- https://www.citylink.co.uk/
- Phone
- 01698 653164
- enquiries@parksofhamilton.co.uk
- Website
- parksofhamilton.co.uk
Bus from Leonard Street to Union Street
- Ave. Duration
- 2h 52m
- Frequency
- 5 times a day
- Website
- https://www.parksofhamilton.co.uk/
Bus from Fishers Hotel to Bus Station Stance 3
- Ave. Duration
- 1h 53m
- Frequency
- 5 times a day
- Website
- https://www.parksofhamilton.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
Perth to Inverness bus services, operated by Ember, arrive at Union Street station.
Perth to Inverness train services, operated by ScotRail, arrive at Inverness station.
Yes, the driving distance between Perth to Inverness is 113 miles. It takes approximately 2h 4m to drive from Perth to Inverness.
Book your Perth to Inverness train tickets online with Omio.
Book your Perth to Inverness bus tickets online with Omio, FlixBus and Distribusion.
There are 1210+ hotels available in Inverness.





























