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
9h 50m£78–254Bus
cheapest- Take the bus from Swansea Bus Station Stand B to Lordswood Rdbus 111 / ...
- Take the bus from Newhall St to Buchanan Bus Stationbus
- Take the bus from Buchanan Bus Station to Bus Stationbus
13h 10m£35–77Drive 413.7 mi
- Drive from Swansea to Perthcar 413.7 mi
7h 48m£100–144Train to Bristol Airport, fly to Glasgow Airport, train
- Take the train from Swansea to Bristol Parkwaytrain
- Fly from Bristol Airport (BRS) to Glasgow Airport (GLA)plane BRS - GLA
- Take the train from Glasgow Queen Street to Perthtrain
6h 24m£67–150Train
- Take the train from Swansea to Crewetrain Milford Haven - Crewe / ...
- Take the train from Crewe to Perthtrain London Euston - Inverness
10h 26m£127–205Bus, train
- Take the bus from Swansea City Bus Station to Newport Train Stationbus
- Take the train from Newport (S Wales) to Haymarkettrain
- Take the train from Haymarket to Perthtrain
11h 50m£196–682Train to Bristol Airport, fly to Edinburgh Airport, bus
- Take the train from Swansea to Bristol Parkwaytrain
- Fly from Bristol Airport (BRS) to Edinburgh Airport (EDI)plane BRS - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
6h 30mTrain, 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 22m£72–314Train, 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 28mTrain to Bristol Airport, fly to Newcastle, train
- Take the train from Swansea to Bristol Parkwaytrain
- 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
8h 29m£72–311Train, train to Southampton Airport, fly to Edinburgh Airport, bus
- Take the train from Swansea to Readingtrain
- Take the train from Reading to Southampton Airport Parkwaytrain
- Fly from Southampton Airport (SOU) to Edinburgh Airport (EDI)plane SOU - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
8h 16m
Swansea to Perth by train and foot
Questions & Answers
The cheapest way to get from Swansea to Perth is to bus which costs £30 - £80 and takes 13h 10m.
The fastest way to get from Swansea to Perth is to train and fly which takes 6h 24m and costs £65 - £150.
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 Lordswood Rd, Newhall St and Buchanan Bus Station. The journey, including transfers, takes approximately 13h 10m.
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 9h 50m.
The distance between Swansea and Perth is 490 miles. The road distance is 416.1 miles.
The best way to get from Swansea to Perth without a car is to train via Glasgow which takes 9h 50m and costs £75 - £260.
It takes approximately 9h 50m to get from Swansea to Perth, including transfers.
Swansea to Perth bus services, operated by National Express, 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 9h 50m and costs £75 - £260. Alternatively, you can bus, which costs £30 - £80 and takes 13h 10m.
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 9h 50m. Alternatively, you can take a bus from Swansea Bus Station Stand B to Bus Station via Lordswood Rd, Newhall St, and Buchanan Bus Station in around 13h 10m.
- Website
- easyjet.com
Flights from Bristol Airport to Glasgow Airport
- Ave. Duration
- 1h 16m
- When
- Every day
- Estimated price
- £21–70
Flights from Bristol Airport to Glasgow Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 10m
- When
- Thursday and Sunday
- Estimated price
- £21–70
Flights from Bristol Airport to Edinburgh Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £22–85
Flights from Bristol Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 10m
- When
- Monday, Thursday, and Sunday
- Estimated price
- £22–85
Flights from Birmingham Airport to Glasgow Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- £20–70
Flights from Birmingham Airport to Glasgow Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 55m
- When
- Tuesday and Friday
- Estimated price
- £20–70
Flights from Birmingham Airport to Edinburgh Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- £22–80
Flights from Birmingham Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 57m
- When
- Friday and Sunday
- Estimated price
- £22–80
Flights from Bristol Airport to Newcastle
- Ave. Duration
- 1h 6m
- When
- Every day
- Estimated price
- £23–90
Flights from Bristol Airport to Newcastle via Belfast (Aldergrove)
- Ave. Duration
- 3h
- When
- Monday
- Estimated price
- £23–90
Flights from Southampton Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 30m
- When
- Sunday
- Estimated price
- £80–180
- Website
- ryanair.com
Flights from Bristol Airport to Glasgow Airport via Dublin
- Ave. Duration
- 3h 30m
- When
- Monday and Friday
- Estimated price
- £45–85
Flights from Bristol Airport to Edinburgh Airport via Dublin
- Ave. Duration
- 3h 23m
- When
- Thursday and Friday
- Estimated price
- £45–85
Flights from Birmingham Airport to Glasgow Airport via Dublin
- Ave. Duration
- 3h 7m
- When
- Monday, Saturday, and Sunday
- Estimated price
- £45–75
- Website
- loganair.co.uk
Flights from Southampton Airport to Edinburgh Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- £100–210
- Website
- aerlingus.com
Flights from Southampton Airport to Edinburgh Airport via Dublin
- Ave. Duration
- 3h 45m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- £80–170
- Phone
- 03333 211 202
- Website
- tfw.wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 54 min
- Frequency
- Hourly
- Estimated price
- £7–16
- Website
- https://tfw.wales/
Train from Cardiff Central to Crewe
- Ave. Duration
- 2h 34m
- Frequency
- Hourly
- Estimated price
- £40–55
- Website
- https://tfw.wales/
Train from Swansea to Crewe
- Ave. Duration
- 3h 34m
- Frequency
- Every 4 hours
- Estimated price
- £60–120
- Website
- https://tfw.wales/
- Phone
- +44 3457 000 125
- gwr.feedback@gwr.com
- Website
- gwr.com
Train from Swansea to Cardiff Central
- Ave. Duration
- 52 min
- Frequency
- Hourly
- Estimated price
- £15–16
- Website
- https://www.gwr.com/
Train from Swansea to Bristol Parkway
- Ave. Duration
- 1h 29m
- Frequency
- Hourly
- Estimated price
- £20–40
- Website
- https://www.gwr.com/
Train from Swansea to Reading
- Ave. Duration
- 2h 25m
- Frequency
- Hourly
- Estimated price
- £35–140
- Website
- https://www.gwr.com/
- Phone
- +44 345 528 0253
- Website
- avantiwestcoast.co.uk
Train from Crewe to Glasgow Central
- Ave. Duration
- 3h 4m
- Frequency
- Every 3 hours
- Estimated price
- £18–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 Haymarket to Perth
- Ave. Duration
- 1h 25m
- Frequency
- Hourly
- Estimated price
- £12–35
- Website
- https://www.scotrail.co.uk/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £12–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
- 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 Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 42m
- Frequency
- Once 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
- 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 Newport (S Wales) to Haymarket
- Ave. Duration
- 6h 58m
- Frequency
- 4 times a week
- Estimated price
- £180–600
- Website
- https://www.crosscountrytrains.co.uk/
- Standard
- £180–260
- 1st Class
- £410–600
Train from Bristol Parkway to Birmingham New Street
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–170
- Website
- https://www.crosscountrytrains.co.uk/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £20–40
- Website
- https://www.crosscountrytrains.co.uk/
Train from Reading to Southampton Airport Parkway
- Ave. Duration
- 43 min
- Frequency
- Hourly
- Estimated price
- £8–29
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- +44 345 722 5333
- customers@lner.co.uk
- Website
- lner.co.uk
Train from Haymarket to Perth
- Ave. Duration
- 1h 11m
- Frequency
- Once daily
- Estimated price
- £50–75
- Website
- https://www.lner.co.uk/
- Anytime Day Single
- £50–75
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 22m
- Frequency
- Hourly
- Estimated price
- £20–40
- Website
- https://www.lner.co.uk/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 17m
- Frequency
- Once 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 44m
- Frequency
- Every 4 hours
- Estimated price
- £4–17
- Website
- https://www.tpexpress.co.uk/
- Phone
- 08717 81 81 81
- Website
- nationalexpress.com
Bus from Swansea Bus Station Stand B to Lordswood Rd
- Ave. Duration
- 3h 55m
- Frequency
- Every 3 hours
- Estimated price
- £14–35
- Website
- https://www.nationalexpress.com/en
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Newhall St to Buchanan Bus Station
- Ave. Duration
- 6h 10m
- Frequency
- Hourly
- Estimated price
- £13–35
- Website
- https://www.flixbus.co.uk
Bus from Buchanan Bus Station to Bus Station
- Ave. Duration
- 1h 25m
- Frequency
- Hourly
- Estimated price
- £5–8
- Website
- https://www.flixbus.co.uk
Bus from Swansea City Bus Station to Newport Train Station
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- £3–7
- Website
- https://www.flixbus.co.uk
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 58 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
Swansea to Perth bus services, operated by National Express, arrive at Lordswood Rd 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 511+ hotels available in Perth.




















































