There are 11 ways to get from Cardiff 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 Edinburgh
best- Take the train from Cardiff Central to Crewetrain
- Take the train from Crewe to Haymarkettrain
- Take the train from Haymarket to Perthtrain
8h 40m£152–277Train to Bristol Airport, fly to Edinburgh Airport, bus
cheapest- Take the train from Cardiff Central to Bristol Temple Meadstrain
- Fly from Bristol Airport (BRS) to Edinburgh Airport (EDI)plane BRS - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
5h 35m£61–156Bus
- Take the bus from Sophia Gardens to Lordswood Roadbus 111 / ...
- Take the bus from Newhall Street to Buchanan Bus Stationbus
- Take the bus from Buchanan Bus Station to Bus Stationbus
11h 35m£62–116Drive 409.5 mi
- Drive from Cardiff to Perthcar 409.5 mi
7h 45m£101–146Train
- Take the train from Cardiff Central to Crewetrain Cardiff Central - Manchester Piccadilly / ...
- Take the train from Crewe to Perthtrain London Euston - Inverness
9h 22m£135–242Train #2
- Take the train from Cardiff Central to Edinburgh Waverleytrain Cardiff Central - Edinburgh
- Take the train from Edinburgh Waverley to Perthtrain Edinburgh - Perth / ...
9h 25m£245–363Train to Bristol Airport, fly to Glasgow Airport, train
- 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 Perthtrain
5h 37m£76–210Train to Birmingham Airport, fly to Edinburgh Airport, bus
- Take the train from Cardiff Central 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
6h 21m£92–194Train to Bristol Airport, fly to Newcastle, train
- 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
- Take the train from Edinburgh Waverley to Perthtrain
7h 35m£96–264Train to Bristol Airport, fly to Aberdeen Airport, train
- Take the train from Cardiff Central to Bristol Temple Meadstrain
- Fly from Bristol Airport (BRS) to Aberdeen Airport (ABZ)plane BRS - ABZ
- Take the train from Aberdeen to Perthtrain
6h 56m£134–337Train, train to Exeter, fly to Edinburgh Airport, bus
- Take the train from Cardiff Central to Bristol Temple Meadstrain
- Take the train from Bristol Temple Meads to Exeter St Davidstrain
- Fly from Exeter (EXT) to Edinburgh Airport (EDI)plane EXT - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
7h 41m£132–303
Cardiff to Perth by train
Questions & Answers
The cheapest way to get from Cardiff to Perth is to bus which costs £60 - £120 and takes 11h 35m.
The fastest way to get from Cardiff to Perth is to train and fly and bus which takes 5h 35m and costs £60 - £160.
No, there is no direct bus from Cardiff to Perth station. However, there are services departing from Sophia Gardens and arriving at Bus Station via Lordswood Road, Newhall Street and Buchanan Bus Station. The journey, including transfers, takes approximately 11h 35m.
No, there is no direct train from Cardiff to Perth. However, there are services departing from Cardiff Central and arriving at Perth via Crewe and Haymarket. The journey, including transfers, takes approximately 8h 40m.
The distance between Cardiff and Perth is 435 miles. The road distance is 411.9 miles.
The best way to get from Cardiff to Perth without a car is to train via Edinburgh which takes 8h 40m and costs £150 - £280.
It takes approximately 8h 40m to get from Cardiff to Perth, including transfers.
Cardiff to Perth bus services, operated by National Express, depart from Sophia Gardens station.
Cardiff to Perth train services, operated by Transport for Wales, depart from Cardiff Central station.
The best way to get from Cardiff to Perth is to train via Edinburgh which takes 8h 40m and costs £150 - £280. Alternatively, you can bus, which costs £60 - £120 and takes 11h 35m.
What companies run services between Cardiff, Wales and Perth, Scotland?
You can take a train from Cardiff Central to Perth via Crewe and Haymarket in around 8h 40m. Alternatively, you can take a bus from Sophia Gardens to Bus Station via Lordswood Road, Newhall Street, and Buchanan Bus Station in around 11h 35m.
- 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 7m
- When
- Sunday and Friday
- Estimated price
- £30–110
Flights from Bristol Airport to Glasgow Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- £26–120
Flights from Bristol Airport to Glasgow Airport via Belfast (Aldergrove)
- Ave. Duration
- 3h 7m
- When
- Thursday and Friday
- Estimated price
- £26–120
Flights from Birmingham Airport to Edinburgh Airport
- Ave. Duration
- 1h 6m
- When
- Every day
- Estimated price
- £27–100
Flights from Birmingham Airport to Edinburgh Airport via Belfast (Aldergrove)
- Ave. Duration
- 2h 50m
- When
- Friday
- Estimated price
- £27–100
Flights from Bristol Airport to Newcastle
- Ave. Duration
- 1h 6m
- When
- Every day
- Estimated price
- £30–85
Flights from Bristol Airport to Newcastle via Belfast (Aldergrove)
- Ave. Duration
- 2h 55m
- When
- Sunday
- Estimated price
- £30–85
- Website
- ryanair.com
Flights from Bristol Airport to Edinburgh Airport via Dublin
- Ave. Duration
- 3h 15m
- When
- Monday and Sunday
- Estimated price
- £45–95
Flights from Bristol Airport to Glasgow Airport via Dublin
- Ave. Duration
- 2h 57m
- When
- Every day
- Estimated price
- £45–110
- Website
- aerlingus.com
Flights from Exeter to Edinburgh Airport via Dublin
- Ave. Duration
- 3h 55m
- When
- Every day
- Estimated price
- £85–180
- Website
- loganair.co.uk
Flights from Bristol Airport to Aberdeen Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- £120–310
Flights from Exeter to Edinburgh Airport
- Ave. Duration
- 1h 45m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- £110–210
- Phone
- 03333 211 202
- Website
- tfw.wales
Train from Cardiff Central to Crewe
- Ave. Duration
- 2h 34m
- Frequency
- Hourly
- Estimated price
- £55–95
- Website
- https://tfw.wales/
- Phone
- +44 345 528 0253
- Website
- avantiwestcoast.co.uk
Train from Crewe to Haymarket
- Ave. Duration
- 3h 7m
- Frequency
- Every 4 hours
- Estimated price
- £80–140
- Website
- https://www.avantiwestcoast.co.uk/
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Haymarket to Perth
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- £23–45
- Website
- https://www.scotrail.co.uk/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- £24–45
- Website
- https://www.scotrail.co.uk/
Train from Glasgow Queen Street to Perth
- Ave. Duration
- 1h 7m
- Frequency
- Hourly
- Estimated price
- £26–50
- Website
- https://www.scotrail.co.uk/
Train from Aberdeen to Perth
- Ave. Duration
- 1h 33m
- Frequency
- Hourly
- Estimated price
- £35–75
- Website
- https://www.scotrail.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
- £17–24
- Website
- https://www.lner.co.uk/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 17m
- Frequency
- Once daily
- Estimated price
- £17–25
- Website
- https://www.lner.co.uk/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 22m
- Frequency
- Hourly
- Estimated price
- £35–55
- Website
- https://www.lner.co.uk/
- Phone
- +44 3457 000 125
- gwr.feedback@gwr.com
- Website
- gwr.com
Train from Cardiff Central to Bristol Temple Meads
- Ave. Duration
- 48 min
- Frequency
- Hourly
- Estimated price
- £17–35
- Website
- https://www.gwr.com/
Train from Bristol Temple Meads to Exeter St Davids
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- £30–65
- Website
- https://www.gwr.com/
Train from Cardiff Central to Bristol Temple Meads
- Ave. Duration
- 49 min
- Frequency
- Once a week
- Estimated price
- £19–27
- Website
- https://www.crosscountrytrains.co.uk/
Train from Cardiff Central to Edinburgh Waverley
- Ave. Duration
- 7h 24m
- Frequency
- 5 times a week
- Estimated price
- £230–320
- Website
- https://www.crosscountrytrains.co.uk/
Train from Cardiff Central to Birmingham New Street
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- £55–80
- Website
- https://www.crosscountrytrains.co.uk/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 27m
- Frequency
- Hourly
- Estimated price
- £60–90
- Website
- https://www.crosscountrytrains.co.uk/
Train from Bristol Temple Meads to Exeter St Davids
- Ave. Duration
- 1h 5m
- Frequency
- Hourly
- Estimated price
- £35–55
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Crewe to Perth
- Ave. Duration
- 5h 48m
- Frequency
- 6 times a week
- Estimated price
- £80–150
- Website
- https://www.sleeper.scot/
Train from Edinburgh Waverley to Perth
- Ave. Duration
- 1h 22m
- Frequency
- 6 times a week
- Estimated price
- £15–26
- Website
- https://www.sleeper.scot/
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 44m
- Frequency
- Twice a week
- Estimated price
- £30–60
- Website
- https://www.sleeper.scot/
- Phone
- +44 345 600 1671
- tpecustomer.relations@tpexpress.co.uk
- Website
- tpexpress.co.uk
Train from Newcastle to Edinburgh Waverley
- Ave. Duration
- 1h 46m
- Frequency
- Every 4 hours
- Estimated price
- £40–75
- Website
- https://www.tpexpress.co.uk/
- Phone
- 08717 81 81 81
- Website
- nationalexpress.com
Bus from Sophia Gardens to Lordswood Road
- Ave. Duration
- 2h 35m
- Frequency
- Every 3 hours
- Estimated price
- £19–50
- Website
- https://www.nationalexpress.com/en
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- https://www.flixbus.fr
Bus from Newhall Street to Buchanan Bus Station
- Ave. Duration
- 6h 10m
- Frequency
- Hourly
- Estimated price
- £29–50
- Website
- https://www.flixbus.co.uk
Bus from Buchanan Bus Station to Bus Station
- Ave. Duration
- 1h 25m
- Frequency
- Hourly
- Estimated price
- £5–10
- Website
- https://www.flixbus.co.uk
- 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
- 4 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 Edinburgh Airport to Perth station
- Ave. Duration
- 58 min
- Frequency
- Every 4 hours
- Estimated price
- £7–11
- 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
Cardiff to Perth bus services, operated by National Express, arrive at Lordswood Road station.
Cardiff to Perth train services, operated by Transport for Wales, arrive at Crewe station.
Yes, the driving distance between Cardiff to Perth is 412 miles. It takes approximately 7h 45m to drive from Cardiff to Perth.
Book your Cardiff to Perth train tickets online with Omio.
Book your Cardiff to Perth bus tickets online with Omio.
There are 566+ hotels available in Perth.























































