There are 11 ways to get from Swansea to Perth by train, bus, car, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train via Glasgow
best- Take the train from Swansea to Cardiff Centraltrain
- Take the train from Cardiff Central to Crewetrain
- Take the train from Crewe to Glasgow Centraltrain
- Take the train from Glasgow Queen Street to Perthtrain
10h 8m£184–322Bus
cheapest- Take the bus from Swansea City Bus Station to Birmingham - Jennens Roadbus
- Take the bus from Birmingham - Jennens Road to Glasgowbus
- Take the bus from Buchanan Bus Station to South Streetbus M8
13h 32m£55–97Drive 413.4 mi
- Drive from Swansea to Perthcar 413.4 mi
7h 48m£102–147Train, train to Bristol Airport, fly to Edinburgh Airport, bus
- Take the train from Swansea to Cardiff Centraltrain
- Take the train from Cardiff Central to Bristol Temple Meadstrain
- Fly from Bristol Airport (BRS) to Edinburgh Airport (EDI)plane BRS - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
6h 50m£72–196Train
- Take the train from Swansea to Crewetrain Milford Haven - Manchester Piccadilly / ...
- Take the train from Crewe to Perthtrain London Euston - Inverness
10h 25m£168–286Train, bus
- Take the train from Swansea to Bristol Parkwaytrain
- Take the train from Bristol Parkway to Edinburgh Waverleytrain
- Take the bus from George Street to Perth stationbus
11h 16m£262–396Train, train to Bristol Airport, fly to Glasgow Airport
- Take the train from Swansea to Cardiff Centraltrain
- Take the train from Cardiff Central to Bristol Temple Meadstrain
- Fly from Bristol Airport (BRS) to Glasgow Airport (GLA)plane BRS - GLA
- Take the train from Glasgow Queen Street to Perthtrain
7h 4m£91–230Train, train to Birmingham Airport, fly to Edinburgh Airport, bus
- Take the train from Swansea to Bristol Parkwaytrain
- Take the train from Bristol Parkway to Birmingham New Streettrain
- Fly from Birmingham Airport (BHX) to Edinburgh Airport (EDI)plane BHX - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
7h 14m£112–238Train, train to Birmingham Airport, fly to Glasgow Airport
- Take the train from Swansea to Bristol Parkwaytrain
- Take the train from Bristol Parkway to Birmingham New Streettrain
- Fly from Birmingham Airport (BHX) to Glasgow Airport (GLA)plane BHX - GLA
- Take the train from Glasgow Queen Street to Perthtrain
7h 28m£130–272Train, train to Bristol Airport, fly to Aberdeen Airport
- Take the train from Swansea to Cardiff Centraltrain
- Take the train from Cardiff Central to Bristol Temple Meadstrain
- Fly from Bristol Airport (BRS) to Aberdeen Airport (ABZ)plane BRS - ABZ
- Take the train from Aberdeen to Perthtrain
8h 27m£137–392Train, train to Bristol Airport, fly to Newcastle
- Take the train from Swansea to Cardiff Centraltrain
- Take the train from Cardiff Central to Bristol Temple Meadstrain
- Fly from Bristol Airport (BRS) to Newcastle (NCL)plane BRS - NCL
- Take the train from Newcastle to Edinburgh Waverleytrain
- Take the train from Edinburgh Waverley to Perthtrain
9h 11m£115–299
Swansea to Perth by train and foot
Questions & Answers
The cheapest way to get from Swansea to Perth is to bus which costs £55 - £100 and takes 13h 32m.
The fastest way to get from Swansea to Perth is to train and fly and bus which takes 6h 50m and costs £70 - £200.
No, there is no direct bus from Swansea station to Perth. However, there are services departing from Swansea City Bus Station and arriving at South Street via Birmingham - Jennens Road and Buchanan Bus Station. The journey, including transfers, takes approximately 13h 32m.
No, there is no direct train from Swansea to Perth. However, there are services departing from Swansea and arriving at Perth via Cardiff Central, Crewe and Glasgow Queen Street. The journey, including transfers, takes approximately 10h 8m.
The distance between Swansea and Perth is 490 miles. The road distance is 415.8 miles.
The best way to get from Swansea to Perth without a car is to train via Glasgow which takes 10h 8m and costs £180 - £330.
It takes approximately 10h 8m to get from Swansea to Perth, including transfers.
Swansea to Perth bus services, operated by FlixBus, depart from Swansea City Bus Station.
Swansea to Perth train services, operated by Transport for Wales, depart from Swansea station.
The best way to get from Swansea to Perth is to train via Glasgow which takes 10h 8m and costs £180 - £330. Alternatively, you can bus, which costs £55 - £100 and takes 13h 32m.
What companies run services between Swansea, Wales and Perth, Scotland?
You can take a train from Swansea to Perth via Cardiff Central, Crewe, Glasgow Central, and Glasgow Queen Street in around 10h 8m. Alternatively, you can take a bus from Swansea City Bus Station to South Street via Birmingham - Jennens Road, Glasgow, and Buchanan Bus Station in around 13h 32m.
- Website
- easyjet.com
Flights from Bristol Airport to Edinburgh Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £30–110
Flights from Bristol Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 10m
- When
- Sunday, Friday, and Wednesday
- Estimated price
- £30–110
Flights from Bristol Airport to Glasgow Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £27–95
Flights from Bristol Airport to Glasgow Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 7m
- When
- Thursday and Friday
- Estimated price
- £27–95
Flights from Birmingham Airport to Edinburgh Airport
- Ave. Duration
- 1h 6m
- When
- Every day
- Estimated price
- £27–85
Flights from Birmingham Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 50m
- When
- Friday
- Estimated price
- £27–85
Flights from Birmingham Airport to Glasgow Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- £24–75
Flights from Birmingham Airport to Glasgow Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 10m
- When
- Friday
- Estimated price
- £24–75
Flights from Bristol Airport to Newcastle
- Ave. Duration
- 1h 6m
- When
- Every day
- Estimated price
- £25–70
Flights from Bristol Airport to Newcastle via Belfast (Aldergrove)
- Ave. Duration
- 2h 55m
- When
- Sunday
- Estimated price
- £25–70
- Phone
- 03333 211 202
- Website
- Transport for Wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–35
- Website
- Transport for Wales
Train from Cardiff Central to Crewe
- Ave. Duration
- 2h 34m
- Frequency
- Hourly
- Estimated price
- £55–95
- Website
- Transport for Wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–35
- Website
- Transport for Wales
Train from Cardiff Central to Bristol Temple Meads
- Ave. Duration
- 57 min
- Frequency
- Every 4 hours
- Estimated price
- £15–26
- Website
- Transport for Wales
Train from Swansea to Crewe
- Ave. Duration
- 3h 33m
- Frequency
- Every 4 hours
- Estimated price
- £70–130
- Website
- Transport for Wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–35
- Website
- Transport for Wales
Train from Cardiff Central to Bristol Temple Meads
- Ave. Duration
- 57 min
- Frequency
- Every 4 hours
- Estimated price
- £15–26
- Website
- Transport for Wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–35
- Website
- Transport for Wales
Train from Cardiff Central to Bristol Temple Meads
- Ave. Duration
- 57 min
- Frequency
- Every 4 hours
- Estimated price
- £15–26
- Website
- Transport for Wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–35
- Website
- Transport for Wales
Train from Cardiff Central to Bristol Temple Meads
- Ave. Duration
- 57 min
- Frequency
- Every 4 hours
- Estimated price
- £15–26
- Website
- Transport for Wales
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Swansea City Bus Station to Birmingham - Jennens Road
- Ave. Duration
- 4h 10m
- Frequency
- Once daily
- Estimated price
- £15–25
- Website
- Flixbus
Bus from Birmingham - Jennens Road to Glasgow
- Ave. Duration
- 6h 10m
- Frequency
- Twice daily
- Estimated price
- £30–50
- Website
- Flixbus
Want to know more about travelling around United Kingdom
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Travelling to the UK: What do I need to know?
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Swansea to Perth bus services, operated by FlixBus, arrive at Birmingham - Jennens Road station.
Swansea to Perth train services, operated by Transport for Wales, arrive at Cardiff Central station.
Yes, the driving distance between Swansea to Perth is 416 miles. It takes approximately 7h 48m to drive from Swansea to Perth.
Book your Swansea to Perth train tickets online with Omio.
Book your Swansea to Perth bus tickets online with Omio.
There are 560+ hotels available in Perth.







