There are 11 ways to get from Perth to Swansea 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 Perth to Glasgow Queen Streettrain
- Take the train from Glasgow Central to Crewetrain
- Take the train from Crewe to Swanseatrain
10h 2m£67–279Bus
cheapest- Take the bus from Canal Street to Buchanan Bus Stationbus M9 / ...
- Take the bus from Buchanan Bus Station to Newhall Stbus
- Take the bus from Lordswood Rd to Swansea Bus Station Stand Bbus 111 / ...
13h 31m£49–89Drive 413.2 mi
- Drive from Perth to Swanseacar 413.2 mi
7h 46m£99–143Bus to Edinburgh Airport, fly to Bristol Airport, train
- Take the bus from Perth station to Edinburgh Airportbus
- Fly from Edinburgh Airport (EDI) to Bristol Airport (BRS)plane EDI - BRS
- Take the train from Bristol Parkway to Swanseatrain
6h 5mTrain
- Take the train from Perth to Crewetrain Inverness - London Euston
- Take the train from Crewe to Swanseatrain Manchester Piccadilly - Milford Haven / ...
10h 13m£96–178Train, bus
- Take the train from Perth to Haymarkettrain
- Take the train from Haymarket to Newport (S Wales)train
- Take the bus from Newport Train Station to Swansea City Bus Stationbus
11h 56m£195–681Train to Glasgow Airport, fly to Bristol Airport, train
- Take the train from Perth to Glasgow Queen Streettrain
- Fly from Glasgow Airport (GLA) to Bristol Airport (BRS)plane GLA - BRS
- Take the train from Bristol Parkway to Swanseatrain
6h 44m£55–156Bus to Edinburgh Airport, fly to Birmingham Airport, train
- Take the bus from Perth station to Edinburgh Airportbus
- Fly from Edinburgh Airport (EDI) to Birmingham Airport (BHX)plane EDI - BHX
- Take the train from Birmingham New Street to Bristol Parkwaytrain
- Take the train from Bristol Parkway to Swanseatrain
7h 17mBus to Edinburgh Airport, fly to Luton Airport, train
- Take the bus from Perth station to Edinburgh Airportbus
- Fly from Edinburgh Airport (EDI) to Luton Airport (LTN)plane EDI - LTN
- Take the train from Luton Airport Parkway to Farringdontrain
- Take the train from London Paddington to Swanseatrain
7h 36mTrain to Glasgow Airport, fly to Birmingham Airport, train
- Take the train from Perth to Glasgow Queen Streettrain
- Fly from Glasgow Airport (GLA) to Birmingham Airport (BHX)plane GLA - BHX
- Take the train from Birmingham New Street to Bristol Parkwaytrain
- Take the train from Bristol Parkway to Swanseatrain
8h 1m£69–266Bus to Edinburgh Airport, fly to Southampton Airport, train
- Take the bus from Perth station to Edinburgh Airportbus
- Fly from Edinburgh Airport (EDI) to Southampton Airport (SOU)plane EDI - SOU
- Take the train from Southampton Airport Parkway to Readingtrain
- Take the train from Reading to Swanseatrain
7h 48m
Perth to Swansea by train and foot
Questions & Answers
The cheapest way to get from Perth to Swansea is to bus which costs £45 - £90 and takes 13h 31m.
The fastest way to get from Perth to Swansea is to train and fly which takes 6h 44m and costs £55 - £160.
No, there is no direct bus from Perth to Swansea station. However, there are services departing from Canal Street and arriving at Swansea Bus Station Stand B via Buchanan Bus Station, Newhall St and Lordswood Rd. The journey, including transfers, takes approximately 13h 31m.
No, there is no direct train from Perth to Swansea. However, there are services departing from Perth and arriving at Swansea via Glasgow Central and Crewe. The journey, including transfers, takes approximately 10h 2m.
The distance between Perth and Swansea is 490 miles. The road distance is 415.6 miles.
The best way to get from Perth to Swansea without a car is to train via Glasgow which takes 10h 2m and costs £65 - £280.
It takes approximately 10h 2m to get from Perth to Swansea, including transfers.
Perth to Swansea bus services, operated by Park's of Hamilton, depart from Canal Street station.
Perth to Swansea train services, operated by ScotRail, depart from Perth station.
The best way to get from Perth to Swansea is to train via Glasgow which takes 10h 2m and costs £65 - £280. Alternatively, you can bus, which costs £45 - £90 and takes 13h 31m.
What companies run services between Perth, Scotland and Swansea, Wales?
You can take a train from Perth to Swansea via Glasgow Queen Street, Glasgow Central, and Crewe in around 10h 2m. Alternatively, you can take a bus from Canal Street to Swansea Bus Station Stand B via Buchanan Bus Station, Newhall St, and Lordswood Rd in around 13h 31m.
- Website
- easyjet.com
Flights from Edinburgh Airport to Bristol Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £22–85
Flights from Edinburgh Airport to Bristol Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 11m
- When
- Monday, Friday, and Sunday
- Estimated price
- £22–85
Flights from Glasgow Airport to Bristol Airport
- Ave. Duration
- 1h 11m
- When
- Every day
- Estimated price
- £21–70
Flights from Glasgow Airport to Bristol Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 45m
- When
- Monday and Wednesday
- Estimated price
- £21–70
Flights from Edinburgh Airport to Birmingham Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- £22–80
Flights from Edinburgh Airport to Birmingham Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 7m
- When
- Monday, Friday, and Sunday
- Estimated price
- £22–80
Flights from Edinburgh Airport to Luton Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £22–120
Flights from Edinburgh Airport to Luton Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 20m
- When
- Friday
- Estimated price
- £22–120
Flights from Edinburgh Airport to Luton Airport via Belfast City
- Ave. Duration
- 3h 25m
- When
- Friday and Sunday
- Estimated price
- £22–120
Flights from Glasgow Airport to Birmingham Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- £19–70
Flights from Glasgow Airport to Birmingham Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 5m
- When
- Tuesday and Sunday
- Estimated price
- £19–70
Flights from Edinburgh Airport to Southampton Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 30m
- When
- Sunday
- Estimated price
- £80–180
- Website
- loganair.co.uk
Flights from Edinburgh Airport to Southampton Airport
- Ave. Duration
- 1h 28m
- When
- Every day
- Estimated price
- £95–210
- Website
- aerlingus.com
Flights from Edinburgh Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Sunday
- Estimated price
- £30–160
Flights from Glasgow Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Sunday
- Estimated price
- £30–150
Flights from Edinburgh Airport to Southampton Airport via Belfast City
- Ave. Duration
- 3h 27m
- When
- Monday, Tuesday, Wednesday, and Sunday
- Estimated price
- £75–170
- Website
- ryanair.com
Flights from Edinburgh Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Monday
- Estimated price
- £45–80
Flights from Edinburgh Airport to Luton Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Friday and Sunday
- Estimated price
- £45–95
Flights from Glasgow Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 5m
- When
- Saturday
- Estimated price
- £45–75
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Perth to Glasgow Queen Street
- Ave. Duration
- 1h 14m
- Frequency
- Hourly
- Estimated price
- £13–25
- Website
- https://www.scotrail.co.uk/
Train from Perth to Haymarket
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- £12–35
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 345 528 0253
- Website
- avantiwestcoast.co.uk
Train from Glasgow Central to Crewe
- Ave. Duration
- 3h 9m
- Frequency
- Every 4 hours
- Estimated price
- £24–160
- Website
- https://www.avantiwestcoast.co.uk/
- Phone
- 03333 211 202
- Website
- tfw.wales
Train from Crewe to Swansea
- Ave. Duration
- 3h 30m
- Frequency
- Every 3 hours
- Estimated price
- £30–95
- Website
- https://tfw.wales/
- Phone
- +44 3457 000 125
- gwr.feedback@gwr.com
- Website
- gwr.com
Train from Bristol Parkway to Swansea
- Ave. Duration
- 1h 32m
- Frequency
- Hourly
- Estimated price
- £17–50
- Website
- https://www.gwr.com/
Train from London Paddington to Swansea
- Ave. Duration
- 2h 47m
- Frequency
- Hourly
- Estimated price
- £45–130
- Website
- https://www.gwr.com/
Train from Reading to Swansea
- Ave. Duration
- 2h 22m
- Frequency
- Hourly
- Estimated price
- £35–140
- Website
- https://www.gwr.com/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Perth to Crewe
- Ave. Duration
- 5h 43m
- Frequency
- 6 times a week
- Estimated price
- £65–85
- Website
- https://www.sleeper.scot/
- Sleeper Berth Classic
- £210–230
- Sleeper Seat
- £65–85
- Sleeper Berth Club Solo
- £290–340
- Phone
- +44 345 722 5333
- customers@lner.co.uk
- Website
- lner.co.uk
Train from Perth to Haymarket
- Ave. Duration
- 1h 9m
- Frequency
- Once daily
- Estimated price
- £50–75
- Website
- https://www.lner.co.uk/
- Anytime Day Single
- £50–75
Train from Haymarket to Newport (S Wales)
- Ave. Duration
- 6h 51m
- Frequency
- 5 times a week
- Estimated price
- £180–600
- Website
- https://www.crosscountrytrains.co.uk/
- Standard
- £180–260
- 1st Class
- £410–600
Train from Birmingham New Street to Bristol Parkway
- Ave. Duration
- 1h 16m
- Frequency
- Hourly
- Estimated price
- £18–110
- Website
- https://www.crosscountrytrains.co.uk/
Train from Southampton Airport Parkway to Reading
- Ave. Duration
- 43 min
- Frequency
- Hourly
- Estimated price
- £9–30
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- 0345 026 4700
- Website
- thameslinkrailway.com
Train from Luton Airport Parkway to Farringdon
- Ave. Duration
- 37 min
- Frequency
- Every 15 minutes
- Estimated price
- £8–24
- Website
- https://www.thameslinkrailway.com/
- Phone
- 01698 653164
- enquiries@parksofhamilton.co.uk
- Website
- parksofhamilton.co.uk
Bus from Canal Street to Buchanan Bus Station
- Ave. Duration
- 1h 49m
- Frequency
- Every 30 minutes
- Website
- https://www.parksofhamilton.co.uk/
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- citylink.co.uk
Bus from Canal Street to Buchanan Bus Station
- Ave. Duration
- 1h 14m
- Frequency
- 3 times a day
- Estimated price
- £11–16
- Website
- https://www.citylink.co.uk/
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Buchanan Bus Station to Newhall St
- Ave. Duration
- 6h 5m
- Frequency
- Hourly
- Estimated price
- £13–35
- Website
- https://www.flixbus.co.uk
Bus from Newport Train Station to Swansea City Bus Station
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- £3–7
- Website
- https://www.flixbus.co.uk
- Phone
- 08717 81 81 81
- Website
- nationalexpress.com
Bus from Lordswood Rd to Swansea Bus Station Stand B
- Ave. Duration
- 3h 40m
- Frequency
- Every 3 hours
- Estimated price
- £23–35
- Website
- https://www.nationalexpress.com/en
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Perth station to Edinburgh Airport
- Ave. Duration
- 59 min
- Frequency
- Every 4 hours
- Website
- https://www.ember.to/
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
Perth to Swansea bus services, operated by Park's of Hamilton, arrive at Buchanan Bus Station.
Perth to Swansea train services, operated by ScotRail, arrive at Glasgow Queen Street station.
Yes, the driving distance between Perth to Swansea is 416 miles. It takes approximately 7h 46m to drive from Perth to Swansea.
Book your Perth to Swansea train tickets online with Omio.
Book your Perth to Swansea bus tickets online with Omio.
There are 1232+ hotels available in Swansea.
























































