The average bus between Swansea and Cardiff Bay takes 2h 18m and the fastest bus takes 1h 27m. The bus service runs several times per day from Swansea to Cardiff Bay. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run every 4 hours between Swansea and Cardiff Bay. The earliest departure is at 5:05 AM in the morning, and the last departure from Swansea is at 5:30 PM which arrives into Cardiff Bay at 7:16 PM. All services require a transfer at Sophia Gardens and take an average of 2h 18m. The schedules shown below are for the next available departures.


2h 43m • 2 changes

1h 43m • 2 changes

1h 52m • 2 changes

2h 42m • 2 changes

2h 43m • 2 changes

1h 43m • 2 changes

1h 52m • 2 changes

2h 42m • 2 changes

2h 43m • 2 changes

1h 43m • 2 changes

1h 52m • 2 changes

2h 17m • 2 changes

2h 3m • 2 changes

1h 33m • 2 changes

2h 32m • 2 changes

1h 52m • 2 changes

3h 7m • 2 changes

2h 52m • 2 changes

4h 8m • 2 changes

3h 13m • 2 changes

2h 7m • 2 changes

1h 43m • 2 changes

1h 52m • 2 changes

2h 42m • 2 changesWant to know about travelling from Swansea to Cardiff Bay? 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 bus from Swansea to Cardiff Bay. However, there are services departing from Swansea station and arriving at Cardiff Bay station via Sophia Gardens. The journey, including transfers, takes approximately 2h 18m.
Swansea to Cardiff Bay bus services, operated by National Express, depart from Swansea Bus Station Stand B.
Swansea to Cardiff Bay bus services, operated by National Express, arrive at Sophia Gardens station.
The distance between Swansea and Cardiff Bay is 56.6 km. The road distance is 72 km.
National Express operates a bus from Swansea Bus Station Stand B to Sophia Gardens hourly. Tickets cost £8–20 and the journey takes 1h 10m.