The average train between London and Perth takes 6h 10m and the fastest train takes 5h 22m. There is a train service every few hours from London to Perth. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between London and Perth. The earliest departure is at 5:48 AM in the morning, and the last departure from London is at 8:03 PM which arrives into Perth at 5:42 AM. All services require a transfer, and take on average 6h 10m. The schedules shown below are for the next available departures.

6h 7m • 1 change

5h 43m • 1 change

6h 10m • 1 change

6h 40m • 1 change

5h 34m • 1 change

5h 34m • 1 change

5h 52m • 1 change

5h 35m • 1 change

6h • 1 change

6h • 1 change

6h 7m • 1 change

6h 16m • 1 change

6h • 1 change

6h • 1 change

6h 7m • 1 change

6h 16m • 1 change
Want to know about travelling from London to Perth? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from London to Perth. However, there are services departing from London station and arriving at Perth station via Edinburgh Waverley. The journey, including transfers, takes approximately 6h 10m.
London to Perth train services, operated by London North Eastern Railway Limited (LNER), depart from King's Cross station.
London to Perth train services, operated by London North Eastern Railway Limited (LNER), arrive at Perth station.
Book your London to Perth train tickets online with London North Eastern Railway Limited (LNER), ScotRail and Caledonian Sleeper.
The distance between London and Perth is 584.7 km. The road distance is 718 km.
You can take a train from King's Cross to Perth via Edinburgh Waverley in around 6h 8m.