The average train between Haverfordwest and Bath takes 5h and the fastest train takes 3h 47m. The train service runs several times per day from Haverfordwest to Bath. 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 3 hours between Haverfordwest and Bath. The earliest departure is at 6:10 AM in the morning, and the last departure from Haverfordwest is at 9:02 PM which arrives into Bath at 7:33 AM. All services require a transfer at Bristol Temple Meads and take an average of 5h. The schedules shown below are for the next available departures.

4h 16m • 1 change

4h 30m • 1 change

4h 32m • 1 change

4h 11m • 1 change

4h 23m • 1 change

4h 19m • 1 change

4h 18m • 1 change

4h 19m • 1 change

4h 23m • 1 change

4h 19m • 1 change

4h 18m • 1 change

4h 19m • 1 change

4h 23m • 1 change

4h 19m • 1 change

4h 18m • 1 change

4h 19m • 1 change

4h 23m • 1 change

4h 19m • 1 change

4h 18m • 1 change

4h 19m • 1 change
Want to know about travelling from Haverfordwest to Bath? 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 Haverfordwest to Bath. However, there are services departing from Haverfordwest station and arriving at Bath station via Bristol Temple Meads. The journey, including transfers, takes approximately 5h.
Haverfordwest to Bath train services, operated by Transport for Wales, depart from Haverfordwest station.
Haverfordwest to Bath train services, operated by Transport for Wales, arrive at Bristol Temple Meads station.
Book your Haverfordwest to Bath train tickets online with Transport for Wales and Great Western Railway (GWR).
The distance between Haverfordwest and Bath is 186 km. The road distance is 254 km.
Transport for Wales operates a train from Haverfordwest to Bristol Temple Meads every 4 hours. Tickets cost £55–100 and the journey takes 3h 26m.