There are 6 ways to get from Bathgate to Perth by train, bus, car, or taxi
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 Bathgate to HaymarketHelensburgh Central - Edinburgh / ...
- Take the train from Haymarket to PerthEdinburgh - Perth / ...
2h 19m£20–34Bus via Waterloo Place
cheapest- Take the bus from St David's House to Waterloo PlaceX18
- Take the bus from Edinburgh, Bus Station to Bus StationUk094
3h 20m£9–16Bus
- Take the bus from St David's House to Haymarket StationX18 / ...
- Take the bus from Haymarket Station to Leonard StreetE9
2h 40mDrive 46.4 mi
- Drive from Bathgate to Perth46.4 mi
52 min£12–17Taxi
- Take the taxi from Bathgate to Perth46.4 mi
52 min£85–110Bus, train
- Take the bus from St David's House to Haymarket StationX18 / ...
- Take the train from Haymarket to PerthEdinburgh - Perth / ...
2h 58m£14–77
Bathgate to Perth by train
Questions & Answers
The cheapest way to get from Bathgate to Perth is to bus via Waterloo Place which costs £9 - £16 and takes 3h 20m.
The fastest way to get from Bathgate to Perth is to drive which takes 52 min and costs £11 - £17.
No, there is no direct bus from Bathgate to Perth. However, there are services departing from St David's House and arriving at Leonard Street via Haymarket Station. The journey, including transfers, takes approximately 2h 40m.
No, there is no direct train from Bathgate to Perth. However, there are services departing from Bathgate and arriving at Perth via Haymarket. The journey, including transfers, takes approximately 2h 19m.
The distance between Bathgate and Perth is 72 miles. The road distance is 46.6 miles.
The best way to get from Bathgate to Perth without a car is to train which takes 2h 19m and costs £19 - £35.
It takes approximately 2h 19m to get from Bathgate to Perth, including transfers.
Bathgate to Perth bus services, operated by Lothian Country Buses, depart from St David's House station.
Bathgate to Perth train services, operated by ScotRail, depart from Bathgate station.
The best way to get from Bathgate to Perth is to train which takes 2h 19m and costs £19 - £35. Alternatively, you can bus, which costs and takes 2h 40m.
What companies run services between Bathgate, Scotland and Perth, Scotland?
You can take a train from Bathgate to Perth via Haymarket in around 2h 19m. Alternatively, you can take a bus from St David's House to Leonard Street via Haymarket Station in around 2h 40m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Bathgate to Haymarket
- Ave. Duration
- 22 min
- Frequency
- Every 30 minutes
- Estimated price
- £7–10
- Website
- https://www.scotrail.co.uk/
Train from Haymarket to Perth
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- £12–25
- 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
- Twice daily
- Estimated price
- £16–23
- Website
- https://www.lner.co.uk/
- Anytime Day Single
- £16–23
- Phone
- 0131 554 4494
- mail@lothianbuses.com
- Website
- lothianbuses.com
Bus from St David's House to Haymarket Station
- Ave. Duration
- 1h 1m
- Frequency
- Every 20 minutes
- Estimated price
- £2
- Website
- https://www.lothianbuses.com/
Bus from St David's House to Waterloo Place
- Ave. Duration
- 1h 11m
- Frequency
- Every 20 minutes
- Estimated price
- £2
- Website
- https://www.lothianbuses.com/
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Haymarket Station to Leonard Street
- Ave. Duration
- 1h 9m
- Frequency
- Hourly
- Website
- https://www.ember.to/
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Edinburgh, Bus Station to Bus Station
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- £7
- Website
- https://www.flixbus.co.uk
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- citylink.co.uk
Bus from Edinburgh, Bus Station to Bus Station
- Ave. Duration
- 1h 17m
- Frequency
- Every 4 hours
- Estimated price
- £10–14
- Website
- https://www.citylink.co.uk/
- Ave. Duration
- 52 min
- Estimated price
- £85–110
Freddies Private Hire
- Phone
- +44 1501 732 323
Fixed Rate Taxis
- Phone
- +44 1506 444 555
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
Bathgate to Perth bus services, operated by Lothian Country Buses, arrive at Haymarket Station.
Bathgate to Perth train services, operated by ScotRail, arrive at Haymarket station.
Yes, the driving distance between Bathgate to Perth is 47 miles. It takes approximately 52 min to drive from Bathgate to Perth.
Book your Bathgate to Perth train tickets online with Omio.
There are 518+ hotels available in Perth.

















