The average train between Cardiff and Perth takes 9h 31m and the fastest train takes 7h 51m. There is a train service every few hours 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 hourly between Cardiff and Perth. The earliest departure is at 4:33 AM at night, and the last departure from Cardiff is at 10:21 PM which arrives into Perth at 12:17 PM. All services require a transfer at Crewe and take an average of 9h 31m. The schedules shown below are for the next available departures.
Arrives next day



14h 2m • 3 changes
Arrives next day



14h 27m • 3 changes
Arrives next day



13h 56m • 3 changes



8h 3m • 3 changes



8h 27m • 3 changes



8h 36m • 3 changes



8h 11m • 3 changes



8h 3m • 3 changes



8h 27m • 3 changes



8h 36m • 3 changes



8h 11m • 3 changes



8h 3m • 3 changes



8h 27m • 3 changes



8h 36m • 3 changes



8h 11m • 3 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 31m.
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 711 km.
You can take a train from Cardiff Central to Perth via Crewe, Wigan North Western, Glasgow Central, and Glasgow Queen Street in around 8h 24m.