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 Haymarkettrain Helensburgh Central - Edinburgh / ...
- Take the train from Haymarket to Perthtrain Edinburgh - Perth / ...
2h 21m£20–44Bus
cheapest- Take the bus from St David's House to Shandwick Placebus X18 / ...
- Take the bus from Queensferry Street to Bus Stationbus M90
3h 4m£12–16Drive 46.4 mi
- Drive from Bathgate to Perthcar 46.4 mi
53 min£12–17Taxi
- Take the taxi from Bathgate to Perthtaxi 46.4 mi
53 min£85–110Bus, train
- Take the bus from St David's House to Haymarket Stationbus X18 / ...
- Take the train from Haymarket to Perthtrain Edinburgh - Perth / ...
3h£14–77Bus via Haymarket
- Take the bus from St David's House to Haymarket Stationbus X18 / ...
- Take the bus from Haymarket to Perth stationbus Ember
3h 21m
Bathgate to Perth by train
Questions & Answers
The cheapest way to get from Bathgate to Perth is to drive which costs £11 - £17 and takes 53 min.
The fastest way to get from Bathgate to Perth is to drive which takes 53 min and costs £11 - £17.
No, there is no direct bus from Bathgate to Perth station. However, there are services departing from St David's House and arriving at Bus Station via Queensferry Street. The journey, including transfers, takes approximately 3h 4m.
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 21m.
The distance between Bathgate and Perth is 72 miles. The road distance is 46.7 miles.
The best way to get from Bathgate to Perth without a car is to train which takes 2h 21m and costs £19 - £45.
It takes approximately 2h 21m 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 21m and costs £19 - £45. Alternatively, you can bus, which costs £12 - £16 and takes 3h 4m.
What companies run services between Bathgate, Scotland and Perth, Scotland?
You can take a train from Bathgate to Perth via Haymarket in around 2h 21m. Alternatively, you can take a bus from St David's House to Bus Station via Shandwick Place and Queensferry Street in around 3h 4m.
- 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–35
- 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
- £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 Shandwick Place
- Ave. Duration
- 1h 4m
- Frequency
- Every 20 minutes
- Estimated price
- £2
- Website
- https://www.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/
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- citylink.co.uk
Bus from Queensferry Street to Bus Station
- Ave. Duration
- 1h
- Frequency
- Every 4 hours
- Estimated price
- £10–14
- Website
- https://www.citylink.co.uk/
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Haymarket to Perth station
- Ave. Duration
- 1h 20m
- Frequency
- Every 2 hours
- Website
- https://www.ember.to/
- Ave. Duration
- 53 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
More Questions & Answers
Bathgate to Perth bus services, operated by Lothian Country Buses, arrive at Shandwick Place 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 53 min to drive from Bathgate to Perth.
Book your Bathgate to Perth train tickets online with Omio.
There are 526+ hotels available in Perth.














