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 Central
- Take the train from Cardiff Central to Crewe
- Take the train from Crewe to Glasgow Central
- Take the train from Glasgow Queen Street to Perth
10h£62–273Bus
cheapest- Take the bus from Swansea Bus Station Stand B to Bus Station
- Take the bus from Bus Station to Shudehill Interchange
- Take the bus from Shudehill Interchange to Buchanan Bus Station
- Take the bus from Buchanan Bus Station to Bus Station
15h 11m£36–104Drive 413.6 mi
- Drive from Swansea to Perth413.6 mi
7h 45m£103–148Train to Bristol Airport, fly to Edinburgh Airport, bus
- Take the train from Swansea to Bristol Parkway
- Fly from Bristol Airport (BRS) to Edinburgh Airport (EDI)BRS - EDI
- Take the bus from Airport to Leonard Street
6h 27mTrain
- Take the train from Swansea to CreweMilford Haven - Crewe / ...
- Take the train from Crewe to PerthLondon Euston - Inverness
10h 26m£101–158Train, bus
- Take the train from Swansea to Bristol Parkway
- Take the train from Bristol Parkway to Edinburgh Waverley
- Take the bus from George Street to Leonard StreetE9
11h 20mTrain to Bristol Airport, fly to Glasgow Airport, train
- Take the train from Swansea to Bristol Parkway
- Fly from Bristol Airport (BRS) to Glasgow Airport (GLA)BRS - GLA
- Take the train from Glasgow Queen Street to Perth
6h 39m£66–174Train, train to Birmingham Airport, fly to Edinburgh Airport, bus
- Take the train from Swansea to Bristol Parkway
- Take the train from Bristol Parkway to Birmingham New Street
- Fly from Birmingham Airport (BHX) to Edinburgh Airport (EDI)BHX - EDI
- Take the bus from Airport to Leonard Street
7h 23mTrain, train to Birmingham Airport, fly to Glasgow Airport
- Take the train from Swansea to Bristol Parkway
- Take the train from Bristol Parkway to Birmingham New Street
- Fly from Birmingham Airport (BHX) to Glasgow Airport (GLA)BHX - GLA
- Take the train from Glasgow Queen Street to Perth
7h 35m£82–248Train to Cardiff Airport, fly to Edinburgh Airport, bus
- Take the train from Swansea to Bridgend
- Fly from Cardiff Airport (CWL) to Edinburgh Airport (EDI)CWL - EDI
- Take the bus from Airport to Leonard Street
7h 4mTrain to Bristol Airport, fly to Newcastle, train
- Take the train from Swansea to Bristol Parkway
- Fly from Bristol Airport (BRS) to Newcastle (NCL)BRS - NCL
- Take the train from Newcastle to Edinburgh Waverley
- Take the train from Edinburgh Waverley to Perth
8h 47m£81–330
Swansea to Perth by train and foot
Questions & Answers
The cheapest way to get from Swansea to Perth is to bus which costs £35 - £110 and takes 15h 11m.
The fastest way to get from Swansea to Perth is to train and fly which takes 6h 39m and costs £65 - £180.
No, there is no direct bus from Swansea station to Perth station. However, there are services departing from Swansea Bus Station Stand B and arriving at Bus Station via Bus Station, Shudehill Interchange and Buchanan Bus Station. The journey, including transfers, takes approximately 15h 11m.
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.
The distance between Swansea and Perth is 490 miles. The road distance is 416 miles.
The best way to get from Swansea to Perth without a car is to train via Glasgow which takes 10h and costs £60 - £280.
It takes approximately 10h to get from Swansea to Perth, including transfers.
Swansea to Perth bus services, operated by FlixBus, depart from Swansea Bus Station Stand B.
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 and costs £60 - £280. Alternatively, you can bus, which costs £35 - £110 and takes 15h 11m.
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. Alternatively, you can take a bus from Swansea Bus Station Stand B to Bus Station via Bus Station, Shudehill Interchange, and Buchanan Bus Station in around 15h 11m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Website
- easyjet.com
Flights from Bristol Airport to Edinburgh Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £25–90
Flights from Bristol Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 10m
- When
- Monday, Thursday, and Sunday
- Estimated price
- £25–90
Flights from Bristol Airport to Glasgow Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £22–75
Flights from Bristol Airport to Glasgow Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 10m
- When
- Thursday and Sunday
- Estimated price
- £22–75
Flights from Birmingham Airport to Edinburgh Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- £24–80
Flights from Birmingham Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 55m
- When
- Friday and Sunday
- Estimated price
- £24–80
Flights from Birmingham Airport to Glasgow Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- £23–75
Flights from Birmingham Airport to Glasgow Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 50m
- When
- Tuesday
- Estimated price
- £23–75
Flights from Bristol Airport to Newcastle
- Ave. Duration
- 1h 7m
- When
- Every day
- Estimated price
- £30–90
- Website
- ryanair.com
Flights from Bristol Airport to Edinburgh Airport via Dublin
- Ave. Duration
- 3h 23m
- When
- Thursday and Friday
- Estimated price
- £55–95
Flights from Bristol Airport to Glasgow Airport via Dublin
- Ave. Duration
- 3h 30m
- When
- Monday and Friday
- Estimated price
- £50–90
Flights from Birmingham Airport to Glasgow Airport via Dublin
- Ave. Duration
- 3h 7m
- When
- Monday, Saturday, and Sunday
- Estimated price
- £55–90
- Website
- loganair.co.uk
Flights from Cardiff Airport to Edinburgh Airport
- Ave. Duration
- 1h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- £130–170
- Phone
- 03333 211 202
- Website
- tfw.wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 54 min
- Frequency
- Hourly
- Estimated price
- £7–15
- Website
- https://tfw.wales/
Train from Cardiff Central to Crewe
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Estimated price
- £26–75
- Website
- https://tfw.wales/
Train from Swansea to Crewe
- Ave. Duration
- 3h 34m
- Frequency
- Every 4 hours
- Estimated price
- £35–75
- Website
- https://tfw.wales/
Train from Swansea to Bridgend
- Ave. Duration
- 31 min
- Frequency
- Hourly
- Estimated price
- £5–6
- Website
- https://tfw.wales/
- Phone
- +44 3457 000 125
- gwr.feedback@gwr.com
- Website
- gwr.com
Train from Swansea to Cardiff Central
- Ave. Duration
- 53 min
- Frequency
- Hourly
- Estimated price
- £15–16
- Website
- https://www.gwr.com/
Train from Swansea to Bristol Parkway
- Ave. Duration
- 1h 35m
- Frequency
- Hourly
- Estimated price
- £17–50
- Website
- https://www.gwr.com/
Train from Swansea to Bridgend
- Ave. Duration
- 30 min
- Frequency
- Hourly
- Estimated price
- £11–12
- Website
- https://www.gwr.com/
- Phone
- +44 345 528 0253
- Website
- avantiwestcoast.co.uk
Train from Crewe to Glasgow Central
- Ave. Duration
- 3h 13m
- Frequency
- Every 4 hours
- Estimated price
- £16–160
- Website
- https://www.avantiwestcoast.co.uk/
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Glasgow Queen Street to Perth
- Ave. Duration
- 1h 11m
- Frequency
- Hourly
- Estimated price
- £13–23
- Website
- https://www.scotrail.co.uk/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £11–24
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Crewe to Perth
- Ave. Duration
- 5h 52m
- Frequency
- Once daily
- 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 Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 41m
- Frequency
- 3 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 Edinburgh Waverley to Perth
- Ave. Duration
- 1h 22m
- Frequency
- Twice daily
- 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 Bristol Parkway to Edinburgh Waverley
- Ave. Duration
- 6h 25m
- Frequency
- Every 2 hours
- Estimated price
- £70–550
- Website
- https://www.crosscountrytrains.co.uk/
Train from Bristol Parkway to Birmingham New Street
- Ave. Duration
- 1h 9m
- Frequency
- Hourly
- Estimated price
- £24–85
- Website
- https://www.crosscountrytrains.co.uk/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 27m
- Frequency
- Hourly
- Estimated price
- £28–40
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- +44 345 722 5333
- customers@lner.co.uk
- Website
- lner.co.uk
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 24m
- Frequency
- Hourly
- Estimated price
- £21–40
- Website
- https://www.lner.co.uk/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 17m
- Frequency
- Twice daily
- Estimated price
- £11–12
- Website
- https://www.lner.co.uk/
- Phone
- +44 345 600 1671
- tpecustomer.relations@tpexpress.co.uk
- Website
- tpexpress.co.uk
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 45m
- Frequency
- 5 times a day
- Estimated price
- £8–25
- Website
- https://www.tpexpress.co.uk/
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Swansea Bus Station Stand B to Bus Station
- Ave. Duration
- 2h 45m
- Frequency
- Every 3 hours
- Estimated price
- £7–14
- Website
- https://www.flixbus.co.uk
Bus from Bus Station to Shudehill Interchange
- Ave. Duration
- 3h 55m
- Frequency
- Hourly
- Estimated price
- £9–27
- Website
- https://www.flixbus.co.uk
Bus from Shudehill Interchange to Buchanan Bus Station
- Ave. Duration
- 5h
- Frequency
- Every 3 hours
- Estimated price
- £15–35
- Website
- https://www.flixbus.co.uk
Bus from Buchanan Bus Station to Bus Station
- Ave. Duration
- 1h 25m
- Frequency
- Hourly
- Estimated price
- £5–7
- Website
- https://www.flixbus.co.uk
- Phone
- 08717 81 81 81
- Website
- nationalexpress.com
Bus from Swansea Bus Station Stand B to Bus Station
- Ave. Duration
- 2h 30m
- Frequency
- Every 4 hours
- Estimated price
- £10–27
- Website
- https://www.nationalexpress.com/en
- Phone
- 0141 352 4444
- enquiries@megabus.com
- Website
- uk.megabus.com
Bus from Shudehill Interchange to Buchanan Bus Station
- Ave. Duration
- 4h 50m
- Frequency
- Twice daily
- Estimated price
- £17–24
- Website
- https://uk.megabus.com
Bus from Buchanan Bus Station to Bus Station
- Ave. Duration
- 1h 43m
- Frequency
- Hourly
- Estimated price
- £9–14
- Website
- https://uk.megabus.com
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- citylink.co.uk
Bus from Buchanan Bus Station to Bus Station
- Ave. Duration
- 1h 40m
- Frequency
- 3 times a day
- Estimated price
- £11–16
- Website
- https://www.citylink.co.uk/
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Airport to Leonard Street
- Ave. Duration
- 48 min
- Frequency
- Every 3 hours
- Website
- https://www.ember.to/
Bus from George Street to Leonard Street
- Ave. Duration
- 1h 14m
- Frequency
- Every 2 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
Swansea to Perth bus services, operated by FlixBus, arrive at Bus 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 45m 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 and FlixBus.
There are 507+ hotels available in Perth.
































































