The average train between Cardiff and Perth takes 9h 33m and the fastest train takes 8h 1m. 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 33m. The schedules shown below are for the next available departures.



8h 28m • 3 changes



8h 36m • 3 changes



8h 11m • 3 changes



8h 23m • 3 changes



8h 34m • 3 changes



8h 28m • 3 changes



8h 36m • 3 changes



8h 11m • 3 changes



8h 34m • 3 changes



8h 28m • 3 changes



8h 36m • 3 changes



8h 11m • 3 changes



8h 34m • 3 changes



8h 28m • 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 33m.
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 ScotRail.
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, Warrington Bank Quay, Glasgow Central, and Glasgow Queen Street in around 8h 27m.