TrainlineTrainline is Europe’s leading platform for train and bus tickets

Low prices found by our customers
Each fare is the lowest adult economy ticket fare found by our customers on Trainline. Fares booked further in advance than the dates displayed may be cheaper. Prices are updated daily, subject to change and indicative of price last update. Limited availability. Discount cards and coach journeys excluded, prices exclusive of booking fee.

Perth to Inverness by train

It takes an average of 2h 19m to travel from Perth to Inverness by train, over a distance of around 81 miles (130 km). There are normally 27 trains per day travelling from Perth to Inverness and tickets for this journey start from £10.30 when you book in advance.

First train

07:11

Last train

20:59

Departure station

Perth

Arrival station

Inverness

Journey time

From 1h 59m

Distance

81 miles (130 km)

Frequency

27 trains per day

Changes

Direct trains available

Price

From £10.30

Train operators

ScotRail, London North Eastern Railway

Take the train from Perth to Inverness in 1h 58m

Thinking about taking the train from Perth to Inverness? We’ve got you covered.

It usually takes around 2h 18m to travel the 81 miles (130 km) from Perth to Inverness by train, with around 29 trains running on this route daily. As soon as you board the train, you'll be able to make yourself comfortable and enjoy the journey as there are direct services available. You can reach Inverness in just 1h 58m on the fastest ScotRail and LNER services. You’ll also get to enjoy free WiFi and a catering service on both trains.

If you want to snap up the cheapest fares, take the train during Off-Peak times. You can also get a Railcard if you’re travelling by train more than a few times a year – you'll save up to 1/3 on eligible journeys.

Keep reading for more information about your train journey, including FAQs and tips on booking cheap train tickets. Have a look at our timetable to check if trains are running from Perth to Inverness and start a search for tickets with us today.

Journey details

Want to know more about your journey from Perth to Inverness? We've compiled some of the most frequently asked questions by our customers to help you plan your journey.

How long does the train from Perth to Inverness take?

The average journey time by train between Perth and Inverness is 2 hours and 19 minutes, with around 27 trains per day. The journey time may be longer on weekends and holidays, so use our Journey Planner on this page to search for a specific travel date.

What's the fastest journey time between Perth and Inverness by train?

The fastest journey time by train from Perth to Inverness is 1 hour and 59 minutes.

How much does the train from Perth to Inverness cost?

Train ticket prices from Perth to Inverness can start from as little as £10.30 when you book in advance. The cost of tickets can vary depending on the time of day, route and class you book and are usually more expensive if you book on the day.

Is there a direct train from Perth to Inverness?

Yes, it is possible to travel from Perth to Inverness without having to change trains. There are 27 direct trains from Perth to Inverness each day. Though there may be fewer direct services available depending on your exact departure date.

What time does the first train from Perth to Inverness leave?

The first train from Perth to Inverness leaves at 07:11. Times and services may vary during weekends and holidays.

What time does the last train from Perth to Inverness leave?

The last train from Perth to Inverness leaves at 20:59. Trains that depart in the early morning hours or very late evening may be sleeper services, time and services may also vary during weekends and holidays.

What's the distance between Perth and Inverness by train?

Trains travelling from Perth to Inverness cover a distance of around 81 miles (130 km) during the journey.

Looking for more information?

If you’re looking for the return train journey, check out trains from Inverness to Perth.

Cheap train tickets from Perth to Inverness

Train tickets from Perth to Inverness start at £10.30 one way for a Standard Class ticket if you book in advance. As most UK train companies increase their prices as the departure date approaches, we’ll help you find the cheapest tickets.

Book in advance

Look out for Advance tickets – they usually come out up to 12 weeks before the departure date and can be cheaper than buying on the day. If you’re here a tad early, sign up for our Advance ticket alert today to get notified when your tickets are released.

Consider a Season Ticket

If you catch this train more than 3 times per week, you could save money with a Season Ticket. With annual, monthly and weekly options available, find out if a season ticket for Perth to Inverness is right for you.

Use your Railcard

National Railcards offer a 1/3 off eligible train tickets in the UK and can be a great investment if you travel a few times or more in a year. Find out how you can save with a National Railcard here.

Split your tickets

Download our app to find split tickets — courtesy of SplitSave, our handy feature which 'splits' your train tickets where possible to find you a better deal. Learn more about the clever tech behind split tickets, and how to spot SplitSave discounts in our app.

For more money-saving tips on UK and European train travel, read our cheap train tickets guide.

Advance adult single fare. Excludes booking fee. Prices seen by Trainline customers in the last 30 days. Availability limited.
† Average savings on advance fares booked at least one week before day of travel vs Anytime fares purchased on day of travel. Subject to availability. Excludes coach.

Europe’s leading train and coach app

We help customers across Europe make more than 172,000 smarter journeys every day.