The average train between Cardiff and Perth takes 9h 12m and the fastest train takes 7h 47m. The train service runs several times per day from Cardiff 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 every 4 hours between Cardiff and Perth. The earliest departure is at 5:48 AM in the morning, and the last departure from Cardiff is at 10:22 PM which arrives into Perth at 11:48 AM. All services require a transfer at Crewe and take an average of 9h 12m. The schedules shown below are for the next available departures.
Arrives next day


8h 16m • 2 changes
Arrives next day


14h 37m • 2 changes


8h 22m • 2 changes


8h 20m • 2 changes


7h 57m • 2 changes


8h 18m • 2 changes


8h 22m • 2 changes


8h 20m • 2 changes


7h 57m • 2 changes


8h 18m • 2 changes


8h 22m • 2 changes


8h 20m • 2 changes


7h 57m • 2 changes


8h 18m • 2 changes


8h 22m • 2 changes


8h 20m • 2 changes


7h 57m • 2 changes


8h 18m • 2 changes


8h 22m • 2 changes


8h 20m • 2 changes


7h 57m • 2 changes


8h 18m • 2 changes


8h 21m • 2 changes


8h 20m • 2 changes


7h 59m • 2 changes


8h 17m • 2 changes
Want to know about travelling from Cardiff 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 Cardiff to Perth. However, there are services departing from Cardiff station and arriving at Perth station via Crewe. The journey, including transfers, takes approximately 9h 12m.
Cardiff to Perth train services, operated by Transport for Wales, depart from Cardiff Central station.
Cardiff to Perth train services, operated by Transport for Wales, arrive at Perth station.
Book your Cardiff to Perth train tickets online with Transport for Wales, Avanti West Coast and 2 other operators.
The distance between Cardiff and Perth is 546.8 km. The road distance is 696 km.
You can take a train from Cardiff Central to Perth via Crewe and Haymarket in around 8h 40m.