The average train between Cardiff and Bathgate takes 7h 52m and the fastest train takes 6h 31m. The train service runs several times per day from Cardiff to Bathgate. 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 Bathgate. The earliest departure is at 5:49 AM in the morning, and the last departure from Cardiff is at 10:23 PM which arrives into Bathgate at 11:07 AM. All services require a transfer at Crewe and take an average of 7h 52m. The schedules shown below are for the next available departures.


7h 3m • 2 changes


6h 33m • 2 changes
Arrives next day


12h 46m • 2 changes


7h 15m • 2 changes


7h 15m • 2 changes


6h 53m • 2 changes


6h 55m • 2 changes


7h 15m • 2 changes


7h 15m • 2 changes


6h 53m • 2 changes


6h 55m • 2 changes


7h 15m • 2 changes


7h 15m • 2 changes


6h 53m • 2 changes


6h 55m • 2 changes


7h 15m • 2 changes


7h 15m • 2 changes


6h 53m • 2 changes


6h 55m • 2 changes


7h 14m • 2 changes


7h 13m • 2 changes


7h 13m • 2 changes


7h 3m • 2 changes
Want to know about travelling from Cardiff to Bathgate? 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 Bathgate. However, there are services departing from Cardiff station and arriving at Bathgate station via Crewe. The journey, including transfers, takes approximately 7h 52m.
Cardiff to Bathgate train services, operated by Transport for Wales, depart from Cardiff Central station.
Cardiff to Bathgate train services, operated by Transport for Wales, arrive at Haymarket station.
Book your Cardiff to Bathgate train tickets online with Transport for Wales, Avanti West Coast and ScotRail.
The distance between Cardiff and Bathgate is 492.7 km. The road distance is 636 km.
You can take a train from Cardiff Central to Bathgate via Crewe and Haymarket in around 7h 19m.