There are 10 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 56m£174–323Bus
cheapest- Take the bus from Canal Street to Buchanan Bus Stationbus M9 / ...
- Take the bus from Buchanan Bus Station to Newhall Streetbus
- Take the bus from Birmingham - Great Charles Street Queensway to Swansea City Bus Stationbus
14h£57–103Drive 413.2 mi
- Drive from Perth to Swanseacar 413.2 mi
7h 48m£100–145Bus 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£81–198Train
- Take the train from Perth to Crewetrain Inverness - London Euston
- Take the train from Crewe to Swanseatrain Manchester Piccadilly - Haverfordwest / ...
10h 12m£172–287Bus, train
- Take the bus from Perth station to George Streetbus
- Take the train from Edinburgh Waverley to Newport (S Wales)train
- Take the bus from Kingsway K14 to Swansea Bus Station Stand Bbus 201 / ...
12h£249–367Train 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 36m£97–227Bus 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 9m£117–242Train 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 45m£138–276Bus 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 41m£137–330
Perth to Swansea by train
Questions & Answers
The cheapest way to get from Perth to Swansea is to bus which costs £55 - £110 and takes 14h.
The fastest way to get from Perth to Swansea is to bus and fly and train which takes 6h and costs £80 - £200.
No, there is no direct bus from Perth to Swansea station. However, there are services departing from Canal Street and arriving at Swansea City Bus Station via Buchanan Bus Station and Birmingham - Great Charles Street Queensway. The journey, including transfers, takes approximately 14h.
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 56m.
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 56m and costs £170 - £330.
It takes approximately 9h 56m 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 56m and costs £170 - £330. Alternatively, you can bus, which costs £55 - £110 and takes 14h.
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 56m. Alternatively, you can take a bus from Canal Street to Swansea City Bus Station via Buchanan Bus Station and Birmingham - Great Charles Street Queensway in around 14h.
- Website
- easyjet.com
Flights from Edinburgh Airport to Bristol Airport
- Ave. Duration
- 1h 16m
- When
- Every day
- Estimated price
- £30–110
Flights from Edinburgh Airport to Bristol Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 6m
- When
- Sunday, Monday, Tuesday, Wednesday, Thursday, and Saturday
- Estimated price
- £30–110
Flights from Glasgow Airport to Bristol Airport
- Ave. Duration
- 1h 11m
- When
- Every day
- Estimated price
- £27–95
Flights from Glasgow Airport to Bristol Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 53m
- When
- Monday and Friday
- Estimated price
- £27–95
Flights from Edinburgh Airport to Birmingham Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- £27–85
Flights from Edinburgh Airport to Birmingham Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h
- When
- Friday
- Estimated price
- £27–85
Flights from Glasgow Airport to Birmingham Airport
- Ave. Duration
- 1h 6m
- When
- Every day
- Estimated price
- £25–80
Flights from Glasgow Airport to Birmingham Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 53m
- When
- Monday, Sunday, and Friday
- Estimated price
- £25–80
Flights from Edinburgh Airport to Luton Airport
- Ave. Duration
- 1h 16m
- When
- Every day
- Estimated price
- £23–120
Flights from Edinburgh Airport to Luton Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 15m
- When
- Thursday to Saturday
- Estimated price
- £23–120
- Website
- ryanair.com
Flights from Glasgow Airport to Bristol Airport via Dublin
- Ave. Duration
- 2h 55m
- When
- Monday and Saturday
- Estimated price
- £45–95
Flights from Edinburgh Airport to Birmingham Airport via Dublin
- Ave. Duration
- 3h 15m
- When
- Tuesday and Monday
- Estimated price
- £45–100
Flights from Edinburgh Airport to Luton Airport via Dublin
- Ave. Duration
- 3h 23m
- When
- Monday, Thursday, Friday, Sunday, and Saturday
- Estimated price
- £45–120
- Website
- aerlingus.com
Flights from Edinburgh Airport to Birmingham Airport via Belfast City
- Ave. Duration
- 3h
- When
- Every day
- Estimated price
- £60–80
- Phone
- +44 (0)344 811 0141
- Website
- ScotRail
Train from Perth to Haymarket
- Ave. Duration
- 1h 24m
- Frequency
- Hourly
- Estimated price
- £24–45
- Website
- ScotRail
Train from Perth to Glasgow Queen Street
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- £27–50
- Website
- ScotRail
Train from Perth to Glasgow Queen Street
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- £27–50
- Website
- ScotRail
Train from Perth to Haymarket
- Ave. Duration
- 1h 6m
- Frequency
- Once daily
- Estimated price
- £18–27
- Website
- London North Eastern Railway Limited (LNER)
- Phone
- +44 (0)345 528 0253
- Website
- Avanti West Coast
Train from Haymarket to Crewe
- Ave. Duration
- 3h 3m
- Frequency
- Every 4 hours
- Estimated price
- £85–150
- Website
- Avanti West Coast
- Phone
- 03333 211 202
- Website
- Transport for Wales
Train from Crewe to Swansea
- Ave. Duration
- 3h 29m
- Frequency
- Every 4 hours
- Estimated price
- £70–130
- Website
- Transport for Wales
Train from Crewe to Swansea
- Ave. Duration
- 3h 29m
- Frequency
- Every 4 hours
- Estimated price
- £70–130
- Website
- Transport for Wales
- Phone
- +44 (0)345 7000 125
- [email protected]
- Website
- Great Western Railway (GWR)
Train from Bristol Parkway to Swansea
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- £35–70
- Website
- Great Western Railway (GWR)
Train from Bristol Parkway to Swansea
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- £35–70
- Website
- Great Western Railway (GWR)
Train from Bristol Parkway to Swansea
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- £35–70
- Website
- Great Western Railway (GWR)
Train from Bristol Parkway to Swansea
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- £35–70
- Website
- Great Western Railway (GWR)
Train from London Paddington to Swansea
- Ave. Duration
- 2h 52m
- Frequency
- Hourly
- Estimated price
- £85–160
- Website
- Great Western Railway (GWR)
- Phone
- +44 330 060 0500
- [email protected]
- Website
- Caledonian Sleeper
Train from Perth to Crewe
- Ave. Duration
- 5h 43m
- Frequency
- 6 times a week
- Estimated price
- £100–160
- Website
- Caledonian Sleeper
- Phone
- +44 3447 369 123
- [email protected]
- Website
- Cross Country
Train from Edinburgh Waverley to Newport (S Wales)
- Ave. Duration
- 6h 46m
- Frequency
- Once daily
- Estimated price
- £230–330
- Website
- Cross Country
Train from Birmingham New Street to Bristol Parkway
- Ave. Duration
- 1h 16m
- Frequency
- Hourly
- Estimated price
- £45–65
- Website
- Cross Country
Train from Birmingham New Street to Bristol Parkway
- Ave. Duration
- 1h 16m
- Frequency
- Hourly
- Estimated price
- £45–65
- Website
- Cross Country
- Phone
- +44 (0)345 026 4700
- Website
- Thameslink
Train from Luton Airport Parkway to Farringdon
- Ave. Duration
- 37 min
- Frequency
- Every 15 minutes
- Estimated price
- £15–30
- Website
- Thameslink
- Phone
- 01698 653164
- [email protected]
- Website
- Park's of Hamilton
Bus from Canal Street to Buchanan Bus Station
- Ave. Duration
- 1h 49m
- Frequency
- Every 30 minutes
- Website
- Park's of Hamilton
- Phone
- 0141 352 4444
- [email protected]
- Website
- Scottish Citylink Coaches Ltd
Bus from Canal Street to Buchanan Bus Station
- Ave. Duration
- 1h 34m
- Frequency
- Every 4 hours
- Estimated price
- £11–22
- Website
- Scottish Citylink Coaches Ltd
- Single
- £11–22
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Buchanan Bus Station to Newhall Street
- Ave. Duration
- 6h 5m
- Frequency
- Hourly
- Estimated price
- £30–55
- Website
- Flixbus
Bus from Birmingham - Great Charles Street Queensway to Swansea City Bus Station
- Ave. Duration
- 4h 10m
- Frequency
- Once daily
- Estimated price
- £16–27
- Website
- Flixbus
- Phone
- +44 (0)131 510 4007
- [email protected]
- Website
- Ember
Bus from Perth station to Edinburgh Airport
- Ave. Duration
- 59 min
- Frequency
- Every 4 hours
- Estimated price
- £7–10
- Website
- Ember
Bus from Perth station to George Street
- Ave. Duration
- 1h 26m
- Frequency
- Every 2 hours
- Estimated price
- £7–11
- Website
- Ember
Bus from Perth station to Edinburgh Airport
- Ave. Duration
- 59 min
- Frequency
- Every 4 hours
- Estimated price
- £7–10
- Website
- Ember
Bus from Perth station to Edinburgh Airport
- Ave. Duration
- 59 min
- Frequency
- Every 4 hours
- Estimated price
- £7–10
- Website
- Ember
- Phone
- +44 (0)3717 81 81 81
- Website
- National Express
Bus from Kingsway K14 to Swansea Bus Station Stand B
- Ave. Duration
- 2h 5m
- Frequency
- Hourly
- Estimated price
- £11–26
- Website
- National Express
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 48m 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 1328+ hotels available in Swansea.


















































