The average train between Edinburgh and Cardiff takes 6h 28m and the fastest train takes 5h 50m. The train service runs several times per day from Edinburgh to Cardiff. 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 Edinburgh and Cardiff. The earliest departure is at 1:24 AM at night, and the last departure from Edinburgh is at 6:52 PM which arrives into Cardiff at 1:15 PM. All services require a transfer, and take on average 6h 28m. The schedules shown below are for the next available departures.

5h 53m • 1 change

5h 59m • 1 change

6h 8m • 1 change
Arrives next day

6h 39m • 1 change

7h 19m • 1 change

5h 52m • 1 change

5h 50m • 1 change

5h 52m • 1 change

7h 19m • 1 change

5h 52m • 1 change

5h 50m • 1 change

5h 52m • 1 change

7h 19m • 1 change

5h 52m • 1 change

5h 50m • 1 change

5h 52m • 1 change

7h 19m • 1 change

5h 52m • 1 change

5h 50m • 1 change

5h 52m • 1 change

7h 17m • 1 change

5h 52m • 1 change

5h 51m • 1 change

5h 51m • 1 change
Want to know about travelling from Edinburgh to Cardiff? 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 Edinburgh to Cardiff. However, there are services departing from Edinburgh station and arriving at Cardiff station via Crewe. The journey, including transfers, takes approximately 6h 28m.
Edinburgh to Cardiff train services, operated by Avanti West Coast, depart from Edinburgh Waverley station.
Edinburgh to Cardiff train services, operated by Avanti West Coast, arrive at Cardiff Central station.
Book your Edinburgh to Cardiff train tickets online with Avanti West Coast, Transport for Wales and Caledonian Sleeper.
The distance between Edinburgh and Cardiff is 497.3 km. The road distance is 610 km.
You can take a train from Edinburgh Waverley to Cardiff Central via Crewe in around 6h 24m.