The average train between Swansea and Bath takes 2h 12m and the fastest train takes 2h 3m. There is a train service every few hours from Swansea 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 hourly between Swansea and Bath. The earliest departure is at 5:29 AM in the morning, and the last departure from Swansea is at 8:23 PM which arrives into Bath at 10:39 PM. All services require a transfer, and take on average 2h 12m. The schedules shown below are for the next available departures.

2h 12m • 1 change

2h 11m • 1 change

2h 13m • 1 change

2h 11m • 1 change

2h 4m • 1 change

2h 12m • 1 change

2h 16m • 1 change

2h 10m • 1 change

2h 4m • 1 change

2h 12m • 1 change

2h 16m • 1 change

2h 10m • 1 change

2h 4m • 1 change

2h 12m • 1 change

2h 16m • 1 change

2h 10m • 1 change
Want to know about travelling from Swansea 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 Swansea to Bath. However, there are services departing from Swansea station and arriving at Bath station via Cardiff Central. The journey, including transfers, takes approximately 2h 12m.
Swansea to Bath train services, operated by Great Western Railway (GWR), depart from Swansea station.
Swansea to Bath train services, operated by Great Western Railway (GWR), arrive at Bath Spa station.
Book your Swansea to Bath train tickets online with Great Western Railway (GWR).
The distance between Swansea and Bath is 112.8 km. The road distance is 152 km.
You can take a train from Swansea to Bath Spa via Cardiff Central in around 3h.