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 Edinburgh
best- Take the train from Perth to Haymarkettrain
- Take the train from Haymarket to Crewetrain
- Take the train from Crewe to Swanseatrain
9h 59m£70–329Bus
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£45–89Drive 413.2 mi
- Drive from Perth to Swanseacar 413.2 mi
7h 46m£100–144Bus 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 2mTrain
- 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 55m£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 41m£64–168Bus 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 15mBus 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
7h 59m£82–252Train, train to Newcastle, fly to Bristol Airport
- Take the train from Perth to Edinburgh Waverleytrain
- Take the train from Edinburgh Waverley to Newcastletrain
- Fly from Newcastle (NCL) to Bristol Airport (BRS)plane NCL - BRS
- Take the train from Bristol Parkway to Swanseatrain
8h 30m£72–301
Perth to Swansea by train
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 41m and costs £60 - £170.
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 Haymarket and Crewe. The journey, including transfers, takes approximately 9h 59m.
The distance between Perth and Swansea is 481 miles. The road distance is 415.6 miles.
The best way to get from Perth to Swansea without a car is to train via Edinburgh which takes 9h 59m and costs £70 - £330.
It takes approximately 9h 59m 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 Edinburgh which takes 9h 59m and costs £70 - £330. 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 Haymarket and Crewe in around 9h 59m. 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–80
Flights from Edinburgh Airport to Bristol Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 11m
- When
- Monday, Friday, and Sunday
- Estimated price
- £22–80
Flights from Glasgow Airport to Bristol Airport
- Ave. Duration
- 1h 11m
- When
- Every day
- Estimated price
- £20–70
Flights from Glasgow Airport to Bristol Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 1m
- When
- Monday, Wednesday, and Saturday
- Estimated price
- £20–70
Flights from Edinburgh Airport to Birmingham Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- £23–75
Flights from Edinburgh Airport to Birmingham Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 7m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- £23–75
Flights from Edinburgh Airport to Luton Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £22–95
Flights from Edinburgh Airport to Luton Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 20m
- When
- Friday
- Estimated price
- £22–95
Flights from Edinburgh Airport to Luton Airport via Belfast City
- Ave. Duration
- 3h 25m
- When
- Wednesday, Thursday, Friday, and Sunday
- Estimated price
- £22–95
Flights from Glasgow Airport to Birmingham Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- £20–70
Flights from Glasgow Airport to Birmingham Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 52m
- When
- Monday, Friday, Saturday, and Sunday
- Estimated price
- £20–70
Flights from Newcastle to Bristol Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- £22–75
Flights from Newcastle to Bristol Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h
- When
- Monday and Wednesday
- Estimated price
- £22–75
- Website
- ryanair.com
Flights from Edinburgh Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Monday
- Estimated price
- £40–75
Flights from Edinburgh Airport to Luton Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Friday and Sunday
- Estimated price
- £40–90
Flights from Glasgow Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 5m
- When
- Saturday
- Estimated price
- £45–60
- Website
- aerlingus.com
Flights from Edinburgh Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Sunday
- Estimated price
- £30–150
Flights from Glasgow Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 10m
- When
- Sunday
- Estimated price
- £30–150
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Perth to Haymarket
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- £12–25
- Website
- https://www.scotrail.co.uk/
Train from Perth to Glasgow Queen Street
- Ave. Duration
- 1h 14m
- Frequency
- Hourly
- Estimated price
- £13–40
- Website
- https://www.scotrail.co.uk/
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Estimated price
- £12–24
- Website
- https://www.scotrail.co.uk/
- 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 Perth to Edinburgh Waverley
- Ave. Duration
- 1h 17m
- Frequency
- Once daily
- Estimated price
- £11–12
- Website
- https://www.lner.co.uk/
Train from Edinburgh Waverley to Newcastle
- Ave. Duration
- 1h 21m
- Frequency
- Hourly
- Estimated price
- £21–40
- Website
- https://www.lner.co.uk/
- Phone
- +44 345 528 0253
- Website
- avantiwestcoast.co.uk
Train from Haymarket to Crewe
- Ave. Duration
- 3h 3m
- Frequency
- Every 4 hours
- Estimated price
- £28–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 30m
- Frequency
- Hourly
- Estimated price
- £25–55
- Website
- https://www.gwr.com/
Train from London Paddington to Swansea
- Ave. Duration
- 2h 47m
- Frequency
- Hourly
- Estimated price
- £50–130
- 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
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 28m
- Frequency
- 6 times a week
- Estimated price
- £60–80
- Website
- https://www.sleeper.scot/
- Sleeper Berth Classic
- £210–230
- Sleeper Seat
- £60–80
- Sleeper Berth Club Solo
- £230–270
Train from Edinburgh Waverley to Newcastle
- Ave. Duration
- 1h 40m
- Frequency
- 4 times a week
- Estimated price
- £60–80
- Website
- https://www.sleeper.scot/
- Sleeper Berth Classic
- £210–230
- Sleeper Seat
- £60–80
- Sleeper Berth Club Solo
- £240–290
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
- £21–85
- Website
- https://www.crosscountrytrains.co.uk/
Train from Edinburgh Waverley to Newcastle
- Ave. Duration
- 1h 29m
- Frequency
- Hourly
- Estimated price
- £20–35
- 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
- +44 345 600 1671
- tpecustomer.relations@tpexpress.co.uk
- Website
- tpexpress.co.uk
Train from Edinburgh Waverley to Newcastle
- Ave. Duration
- 1h 44m
- Frequency
- Every 4 hours
- Estimated price
- £9–15
- Website
- https://www.tpexpress.co.uk/
- 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
- £14–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
- £18–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 Haymarket 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 1256+ hotels available in Swansea.




























































