There are 9 ways to get from Swansea to Edinburgh 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 Edinburgh Waverleytrain London Euston - Edinburgh / ...
7h 48m£148–266Bus
cheapest- Take the bus from Swansea City Bus Station to Cardiff North Roadbus
- Take the bus from Cardiff North Road to Newcastle-Upon-Tynebus
- Take the bus from John Dobson Street to Edinburgh, Bus Stationbus
14h 45m£50–85Drive 371.5 mi
- Drive from Swansea to Edinburghcar 371.5 mi
7h 17m£92–133Train, train to Bristol Airport, fly to Edinburgh Airport
- Take the train from Swansea to Cardiff Centraltrain
- Take the train from Cardiff Central to Bristol Temple Meadstrain
- Fly from Bristol Airport (BRS) to Edinburgh Airport (EDI)plane BRS - EDI
5h 45m£75–195Train via Cardiff
- Take the train from Swansea to Cardiff Centraltrain
- Take the train from Cardiff Central to Crewetrain
- Take the train from Crewe to Edinburgh Waverleytrain
8h 37m£148–272Train #2
- Take the train from Swansea to Bristol Parkwaytrain Swansea - London Paddington / ...
- Take the train from Bristol Parkway to Edinburgh Waverleytrain Plymouth - Edinburgh / ...
9h 4m£255–385Train, train to Bristol Airport, fly to Glasgow Airport
- Take the train from Swansea to Cardiff Centraltrain
- Take the train from Cardiff Central to Bristol Temple Meadstrain
- Fly from Bristol Airport (BRS) to Glasgow Airport (GLA)plane BRS - GLA
- Take the train from Glasgow Queen Street to Edinburgh Waverleytrain
6h 37m£72–220Train, train to Birmingham Airport, fly to Edinburgh 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 Edinburgh Airport (EDI)plane BHX - EDI
6h 9m£115–237Train, train to Bristol Airport, fly to Newcastle
- Take the train from Swansea to Cardiff Centraltrain
- Take the train from Cardiff Central to Bristol Temple Meadstrain
- Fly from Bristol Airport (BRS) to Newcastle (NCL)plane BRS - NCL
- Take the train from Newcastle to Edinburgh Waverleytrain
7h 9m£98–254
Swansea to Edinburgh by train
Questions & Answers
The cheapest way to get from Swansea to Edinburgh is to bus which costs £45 - £85 and takes 14h 45m.
The fastest way to get from Swansea to Edinburgh is to train and fly which takes 5h 45m and costs £75 - £200.
No, there is no direct bus from Swansea station to Edinburgh station. However, there are services departing from Swansea City Bus Station and arriving at Edinburgh, Bus Station via Cardiff North Road and John Dobson Street. The journey, including transfers, takes approximately 14h 45m.
No, there is no direct train from Swansea to Edinburgh. However, there are services departing from Swansea and arriving at Edinburgh Waverley via Crewe. The journey, including transfers, takes approximately 7h 48m.
The distance between Swansea and Edinburgh is 427 miles. The road distance is 373.7 miles.
The best way to get from Swansea to Edinburgh without a car is to train which takes 7h 48m and costs £140 - £270.
It takes approximately 7h 48m to get from Swansea to Edinburgh, including transfers.
Swansea to Edinburgh bus services, operated by FlixBus, depart from Swansea City Bus Station.
Swansea to Edinburgh train services, operated by Transport for Wales, depart from Swansea station.
The best way to get from Swansea to Edinburgh is to train which takes 7h 48m and costs £140 - £270. Alternatively, you can bus, which costs £45 - £85 and takes 14h 45m.
What companies run services between Swansea, Wales and Edinburgh, Scotland?
You can take a train from Swansea to Edinburgh Waverley via Crewe in around 7h 48m. Alternatively, you can take a bus from Swansea City Bus Station to Edinburgh, Bus Station via Cardiff North Road and John Dobson Street in around 14h 45m.
- Website
- easyjet.com
Flights from Bristol Airport to Edinburgh Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £30–110
Flights from Bristol Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 10m
- When
- Sunday, Friday, and Wednesday
- Estimated price
- £30–110
Flights from Bristol Airport to Glasgow Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £27–95
Flights from Bristol Airport to Glasgow Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 7m
- When
- Thursday and Friday
- Estimated price
- £27–95
Flights from Birmingham Airport to Edinburgh Airport
- Ave. Duration
- 1h 6m
- When
- Every day
- Estimated price
- £27–85
Flights from Birmingham Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 50m
- When
- Friday
- Estimated price
- £27–85
Flights from Bristol Airport to Newcastle
- Ave. Duration
- 1h 6m
- When
- Every day
- Estimated price
- £25–70
Flights from Bristol Airport to Newcastle via Belfast (Aldergrove)
- Ave. Duration
- 2h 55m
- When
- Sunday
- Estimated price
- £25–70
- Phone
- 03333 211 202
- Website
- Transport for Wales
Train from Swansea to Crewe
- Ave. Duration
- 3h 33m
- Frequency
- Every 4 hours
- Estimated price
- £70–130
- Website
- Transport for Wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–35
- Website
- Transport for Wales
Train from Cardiff Central to Bristol Temple Meads
- Ave. Duration
- 57 min
- Frequency
- Every 4 hours
- Estimated price
- £15–26
- Website
- Transport for Wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–35
- Website
- Transport for Wales
Train from Cardiff Central to Crewe
- Ave. Duration
- 2h 34m
- Frequency
- Hourly
- Estimated price
- £55–95
- Website
- Transport for Wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–35
- Website
- Transport for Wales
Train from Cardiff Central to Bristol Temple Meads
- Ave. Duration
- 57 min
- Frequency
- Every 4 hours
- Estimated price
- £15–26
- Website
- Transport for Wales
Train from Swansea to Cardiff Central
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- £18–35
- Website
- Transport for Wales
Train from Cardiff Central to Bristol Temple Meads
- Ave. Duration
- 57 min
- Frequency
- Every 4 hours
- Estimated price
- £15–26
- Website
- Transport for Wales
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Swansea City Bus Station to Cardiff North Road
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- £4–8
- Website
- Flixbus
Bus from Cardiff North Road to Newcastle-Upon-Tyne
- Ave. Duration
- 9h 10m
- Frequency
- Once daily
- Estimated price
- £35–60
- Website
- Flixbus
Bus from John Dobson Street to Edinburgh, Bus Station
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Estimated price
- £10–18
- Website
- Flixbus
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 Edinburgh bus services, operated by FlixBus, arrive at Cardiff North Road station.
Swansea to Edinburgh train services, operated by Transport for Wales, arrive at Crewe station.
Yes, the driving distance between Swansea to Edinburgh is 374 miles. It takes approximately 7h 17m to drive from Swansea to Edinburgh.
Book your Swansea to Edinburgh train tickets online with Omio.
Book your Swansea to Edinburgh bus tickets online with Omio and FlixBus.
There are 2837+ hotels available in Edinburgh.







