Looking to travel from Edinburgh (Waverley) to Perth by train? You've come to the right place!
On average, it takes around 1 hour 51 minutes to travel from Edinburgh (Waverley) to Perth by train, the fastest services can get you there in as little as 1 hour 7 minutes though. You'll usually find 45 trains per day running along the 32 miles (51 km) route between these two destinations. Once you're onboard, you can sit back and relax, as you won't need to make any changes on your way to Perth. You can choose to travel with London North Eastern Railway or ScotRail to get to Perth – both train companies offer modern comfortable services that will whisk you there in no time.
To help you get great train deals, we'll highlight the cheapest train ticket prices from Edinburgh (Waverley) to Perth in our Journey Planner. Just remember, as well as travelling Off-Peak or using a Railcard, the sooner you book your tickets, the more you'll save, as advance tickets start from £7.90.
Want to book your train tickets now? Just start a search with us today. If you want to find out more about the journey, scroll up for timetables including live train times, or keep reading for FAQs and tips on how to book cheap train tickets.
The average journey time by train between Edinburgh (Waverley) and Perth is 1 hour and 25 minutes, with around 45 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.
The fastest journey time by train from Edinburgh (Waverley) to Perth is 1 hour and 7 minutes.
Train ticket prices from Edinburgh (Waverley) to Perth can start from as little as £7.90 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.
Yes, it is possible to travel from Edinburgh (Waverley) to Perth without having to change trains. There are 45 direct trains from Edinburgh (Waverley) to Perth each day. Though there may be fewer direct services available depending on your exact departure date.
The first train from Edinburgh (Waverley) to Perth leaves at 04:36. Times and services may vary during weekends and holidays.
The last train from Edinburgh (Waverley) to Perth leaves at 23:18. 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.
Trains travelling from Edinburgh (Waverley) to Perth cover a distance of around 32 miles (51 km) during the journey.
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 Edinburgh (Waverley) to Perth is right for you.
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.
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.