There are 12 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
best- Take the train from Swansea to Crewetrain Milford Haven - Manchester Piccadilly / ...
- Take the train from Crewe to Perthtrain London Euston - Inverness
10h 22m£160–275Bus
cheapest- Take the bus from Swansea City Bus Station to Birmingham - Great Charles Street Queenswaybus
- Take the bus from Newhall Street to Buchanan Bus Stationbus
- Take the bus from Buchanan Bus Station to South Streetbus M8 / ...
13h 13m£55–96Drive 413.6 mi
- Drive from Swansea to Perthcar 413.6 mi
7h 49m£101–146Train, bus to Bristol Airport, fly to Glasgow Airport
- Take the train from Swansea to Newport (S Wales)train
- Take the bus from Kingsway K14 to Public Transport Interchangebus
- Fly from Bristol Airport (BRS) to Glasgow Airport (GLA)plane BRS - GLA
- Take the train from Glasgow Queen Street to Perthtrain
7h£88–220Train via Cardiff
- Take the train from Swansea to Cardiff Centraltrain
- Take the train from Cardiff Central to Crewetrain
- Take the train from Crewe to Haymarkettrain
- Take the train from Haymarket to Perthtrain
10h 27m£178–329Bus, train
- Take the bus from Swansea Bus Station Stand B to Kingsway K14bus 201 / ...
- Take the train from Newport (S Wales) to Edinburgh Waverleytrain
- Take the bus from George Street to Perth stationbus
12h 52m£258–376Train, bus to Bristol Airport, fly to Edinburgh Airport, bus
- Take the train from Swansea to Newport (S Wales)train
- Take the bus from Kingsway K14 to Public Transport Interchangebus
- Fly from Bristol Airport (BRS) to Edinburgh Airport (EDI)plane BRS - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
7h 9m£71–175Train, 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 18m£139–290Train, 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 27m£118–235Train, bus to Bristol Airport, fly to Aberdeen Airport
- Take the train from Swansea to Newport (S Wales)train
- Take the bus from Kingsway K14 to Public Transport Interchangebus
- Fly from Bristol Airport (BRS) to Aberdeen Airport (ABZ)plane BRS - ABZ
- Take the train from Aberdeen to Perthtrain
8h 23m£129–377Train, bus to Bristol Airport, fly to Newcastle
- Take the train from Swansea to Newport (S Wales)train
- Take the bus from Kingsway K14 to Public Transport Interchangebus
- 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 7m£110–299Train, train to Exeter, fly to Edinburgh Airport, bus
- Take the train from Swansea to Bristol Parkwaytrain
- Take the train from Bristol Parkway to Exeter St Davidstrain
- Fly from Exeter (EXT) to Edinburgh Airport (EDI)plane EXT - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
9h 9m£160–371
Swansea to Perth by train
Questions & Answers
The cheapest way to get from Swansea to Perth is to bus which costs £55 - £100 and takes 13h 13m.
The fastest way to get from Swansea to Perth is to train and bus and fly which takes 7h and costs £85 - £220.
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 Newhall Street and Buchanan Bus Station. The journey, including transfers, takes approximately 13h 13m.
No, there is no direct train from Swansea to Perth. However, there are services departing from Swansea and arriving at Perth via Crewe. The journey, including transfers, takes approximately 10h 22m.
The distance between Swansea and Perth is 496 miles. The road distance is 416 miles.
The best way to get from Swansea to Perth without a car is to train which takes 10h 22m and costs £160 - £280.
It takes approximately 10h 22m 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 which takes 10h 22m and costs £160 - £280. Alternatively, you can bus, which costs £55 - £100 and takes 13h 13m.
What companies run services between Swansea, Wales and Perth, Scotland?
You can take a train from Swansea to Perth via Crewe in around 10h 22m. Alternatively, you can take a bus from Swansea City Bus Station to South Street via Newhall Street and Buchanan Bus Station in around 13h 13m.
- Website
- easyjet.com
Flights from Bristol Airport to Glasgow Airport
- Ave. Duration
- 1h 16m
- When
- Every day
- Estimated price
- £27–95
Flights from Bristol Airport to Edinburgh Airport
- Ave. Duration
- 1h 16m
- When
- Every day
- Estimated price
- £30–110
Flights from Bristol Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 25m
- When
- Sunday, Friday, and Thursday
- Estimated price
- £30–110
Flights from Birmingham Airport to Glasgow Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- £25–85
Flights from Birmingham Airport to Glasgow Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 10m
- When
- Friday
- Estimated price
- £25–85
Flights from Birmingham Airport to Edinburgh Airport
- Ave. Duration
- 1h 7m
- When
- Every day
- Estimated price
- £27–85
Flights from Birmingham Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 52m
- When
- Friday and Thursday
- Estimated price
- £27–85
Flights from Bristol Airport to Newcastle
- Ave. Duration
- 1h 6m
- When
- Every day
- Estimated price
- £27–80
- Website
- ryanair.com
Flights from Bristol Airport to Glasgow Airport via Dublin
- Ave. Duration
- 2h 57m
- When
- Every day
- Estimated price
- £45–95
Flights from Bristol Airport to Edinburgh Airport via Dublin
- Ave. Duration
- 3h 15m
- When
- Monday and Sunday
- Estimated price
- £40–85
- Website
- loganair.co.uk
Flights from Bristol Airport to Aberdeen Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- £120–260
Flights from Exeter to Edinburgh Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- £120–240
- Website
- klm.com
Flights from Bristol Airport to Aberdeen Airport via Amsterdam Schiphol
- Ave. Duration
- 3h 45m
- When
- Monday to Saturday
- Estimated price
- £55–280
- Website
- aerlingus.com
Flights from Exeter to Edinburgh Airport via Dublin
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- £85–200
- Phone
- 03333 211 202
- Website
- tfw.wales
Train from Swansea to Crewe
- Ave. Duration
- 3h 33m
- Frequency
- Every 4 hours
- Estimated price
- £75–130
- Website
- https://tfw.wales/
Train from Swansea to Newport (S Wales)
- Ave. Duration
- 1h 11m
- Frequency
- Every 3 hours
- Estimated price
- £23–40
- Website
- https://tfw.wales/
Train from Swansea to Cardiff Central
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–35
- Website
- https://tfw.wales/
Train from Cardiff Central to Crewe
- Ave. Duration
- 2h 34m
- Frequency
- Hourly
- Estimated price
- £55–95
- Website
- https://tfw.wales/
Train from Swansea to Newport (S Wales)
- Ave. Duration
- 1h 11m
- Frequency
- Every 3 hours
- Estimated price
- £23–40
- Website
- https://tfw.wales/
Train from Swansea to Newport (S Wales)
- Ave. Duration
- 1h 11m
- Frequency
- Every 3 hours
- Estimated price
- £23–40
- Website
- https://tfw.wales/
Train from Swansea to Newport (S Wales)
- Ave. Duration
- 1h 11m
- Frequency
- Every 3 hours
- Estimated price
- £23–40
- Website
- https://tfw.wales/
- Phone
- +44 330 060 0500
- [email protected]
- Website
- sleeper.scot
Train from Crewe to Perth
- Ave. Duration
- 5h 49m
- Frequency
- 6 times a week
- Estimated price
- £85–150
- Website
- https://www.sleeper.scot/
Train from Aberdeen to Perth
- Ave. Duration
- 1h 53m
- Frequency
- 4 times a week
- Estimated price
- £26–45
- Website
- https://www.sleeper.scot/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 43m
- Frequency
- Twice a week
- Estimated price
- £35–60
- Website
- https://www.sleeper.scot/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 22m
- Frequency
- 6 times a week
- Estimated price
- £16–27
- Website
- https://www.sleeper.scot/
- Phone
- +44 (0)345 7000 125
- [email protected]
- Website
- gwr.com
Train from Swansea to Newport (S Wales)
- Ave. Duration
- 1h 9m
- Frequency
- Hourly
- Estimated price
- £25–50
- Website
- https://www.gwr.com/
Train from Swansea to Cardiff Central
- Ave. Duration
- 56 min
- Frequency
- Hourly
- Estimated price
- £20–40
- Website
- https://www.gwr.com/
Train from Swansea to Newport (S Wales)
- Ave. Duration
- 1h 9m
- Frequency
- Hourly
- Estimated price
- £25–50
- Website
- https://www.gwr.com/
Train from Swansea to Bristol Parkway
- Ave. Duration
- 1h 32m
- Frequency
- Hourly
- Estimated price
- £35–70
- Website
- https://www.gwr.com/
Train from Swansea to Bristol Parkway
- Ave. Duration
- 1h 32m
- Frequency
- Hourly
- Estimated price
- £35–70
- Website
- https://www.gwr.com/
Train from Swansea to Newport (S Wales)
- Ave. Duration
- 1h 9m
- Frequency
- Hourly
- Estimated price
- £25–50
- Website
- https://www.gwr.com/
Train from Swansea to Newport (S Wales)
- Ave. Duration
- 1h 9m
- Frequency
- Hourly
- Estimated price
- £25–50
- Website
- https://www.gwr.com/
Train from Swansea to Bristol Parkway
- Ave. Duration
- 1h 32m
- Frequency
- Hourly
- Estimated price
- £35–70
- Website
- https://www.gwr.com/
Train from Bristol Parkway to Exeter St Davids
- Ave. Duration
- 2h 2m
- Frequency
- 5 times a week
- Estimated price
- £35–70
- Website
- https://www.gwr.com/
- Phone
- +44 (0)344 811 0141
- Website
- scotrail.co.uk
Train from Glasgow Queen Street to Perth
- Ave. Duration
- 1h 9m
- Frequency
- Hourly
- Estimated price
- £27–55
- Website
- https://www.scotrail.co.uk/
Train from Haymarket to Perth
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- £24–45
- Website
- https://www.scotrail.co.uk/
Train from Glasgow Queen Street to Perth
- Ave. Duration
- 1h 9m
- Frequency
- Hourly
- Estimated price
- £27–55
- Website
- https://www.scotrail.co.uk/
Train from Aberdeen to Perth
- Ave. Duration
- 1h 33m
- Frequency
- Hourly
- Estimated price
- £40–75
- Website
- https://www.scotrail.co.uk/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £25–50
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 (0)345 528 0253
- Website
- avantiwestcoast.co.uk
Train from Crewe to Haymarket
- Ave. Duration
- 3h 7m
- Frequency
- Every 4 hours
- Estimated price
- £85–150
- Website
- https://www.avantiwestcoast.co.uk/
- Phone
- +44 (0)3457 225 333
- [email protected]
- Website
- lner.co.uk
Train from Haymarket to Perth
- Ave. Duration
- 1h 8m
- Frequency
- Once daily
- Estimated price
- £19–27
- Website
- https://www.lner.co.uk/
Train from Aberdeen to Perth
- Ave. Duration
- 1h 38m
- Frequency
- Twice daily
- Estimated price
- £30–45
- Website
- https://www.lner.co.uk/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 21m
- Frequency
- Hourly
- Estimated price
- £40–60
- Website
- https://www.lner.co.uk/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 13m
- Frequency
- Once daily
- Estimated price
- £19–27
- Website
- https://www.lner.co.uk/
- Phone
- +44 3447 369 123
- [email protected]
- Website
- crosscountrytrains.co.uk
Train from Newport (S Wales) to Edinburgh Waverley
- Ave. Duration
- 7h 10m
- Frequency
- Once daily
- Estimated price
- £240–340
- Website
- https://www.crosscountrytrains.co.uk/
Train from Bristol Parkway to Birmingham New Street
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £45–65
- Website
- https://www.crosscountrytrains.co.uk/
Train from Bristol Parkway to Birmingham New Street
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £45–65
- Website
- https://www.crosscountrytrains.co.uk/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £65–95
- Website
- https://www.crosscountrytrains.co.uk/
Train from Bristol Parkway to Exeter St Davids
- Ave. Duration
- 1h 27m
- Frequency
- Hourly
- Estimated price
- £40–65
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- +44 345 600 1671
- [email protected]
- Website
- tpexpress.co.uk
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 45m
- Frequency
- Every 4 hours
- Estimated price
- £45–80
- Website
- https://www.tpexpress.co.uk/
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Swansea City Bus Station to Birmingham - Great Charles Street Queensway
- Ave. Duration
- 4h 10m
- Frequency
- Once daily
- Estimated price
- £17–28
- Website
- https://www.flixbus.co.uk
Bus from Newhall Street to Buchanan Bus Station
- Ave. Duration
- 6h 10m
- Frequency
- Hourly
- Estimated price
- £30–55
- Website
- https://www.flixbus.co.uk
- Phone
- 0141 352 4444
- [email protected]
- Website
- citylink.co.uk
Bus from Buchanan Bus Station to South Street
- Ave. Duration
- 1h 48m
- Frequency
- Hourly
- Estimated price
- £11–22
- Website
- https://www.citylink.co.uk/
- Single
- £11–22
- Phone
- 01698 653164
- [email protected]
- Website
- parksofhamilton.co.uk
Bus from Buchanan Bus Station to South Street
- Ave. Duration
- 1h 48m
- Frequency
- Hourly
- Website
- https://www.parksofhamilton.co.uk/
- Phone
- +44 (0)131 510 4007
- [email protected]
- Website
- ember.to
Bus from Buchanan Bus Station to South Street
- Ave. Duration
- 1h 23m
- Frequency
- 4 times a day
- Estimated price
- £8–13
- Website
- https://www.ember.to/
Bus from George Street to Perth station
- Ave. Duration
- 1h 27m
- Frequency
- Every 2 hours
- Estimated price
- £7–11
- Website
- https://www.ember.to/
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 58 min
- Frequency
- Every 4 hours
- Estimated price
- £7–10
- Website
- https://www.ember.to/
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 58 min
- Frequency
- Every 4 hours
- Estimated price
- £7–10
- Website
- https://www.ember.to/
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 58 min
- Frequency
- Every 4 hours
- Estimated price
- £7–10
- Website
- https://www.ember.to/
- Phone
- +44 (0)3717 81 81 81
- Website
- nationalexpress.com
Bus from Kingsway K14 to Public Transport Interchange
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- £6–16
- Website
- https://www.nationalexpress.com/en
Bus from Swansea Bus Station Stand B to Kingsway K14
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- £10–26
- Website
- https://www.nationalexpress.com/en
Bus from Kingsway K14 to Public Transport Interchange
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- £6–16
- Website
- https://www.nationalexpress.com/en
Bus from Kingsway K14 to Public Transport Interchange
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- £6–16
- Website
- https://www.nationalexpress.com/en
Bus from Kingsway K14 to Public Transport Interchange
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- £6–16
- Website
- https://www.nationalexpress.com/en
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 - Great Charles Street Queensway station.
Swansea to Perth train services, operated by Transport for Wales, arrive at Crewe station.
Yes, the driving distance between Swansea to Perth is 416 miles. It takes approximately 7h 49m 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 583+ hotels available in Perth.





















































