There are 4 ways to get from Dunfermline 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 Dunfermline Town to Perthtrain Edinburgh - Perth
1h 6m£17–35Bus
cheapest- Take the bus from Bellyeoman Road to Westcroft Waybus 31B / ...
- Take the bus from Main Street to Canal Streetbus X56
1h 17m£6–9Drive 28.2 mi
- Drive from Dunfermline to Perthcar 28.2 mi
33 min£7–10Taxi
- Take the taxi from Dunfermline to Perthtaxi 28.2 mi
33 min£60–75
Dunfermline to Perth by train
Questions & Answers
The cheapest way to get from Dunfermline to Perth is to bus which costs £5 - £10 and takes 1h 17m.
The fastest way to get from Dunfermline to Perth is to drive which takes 33 min and costs £6 - £10.
No, there is no direct bus from Dunfermline to Perth. However, there are services departing from Bellyeoman Road and arriving at Canal Street via Main Street. The journey, including transfers, takes approximately 1h 17m.
Yes, there is a direct train departing from Dunfermline Town and arriving at Perth. Services depart once daily, and operate every day. The journey takes approximately 1h 6m.
The distance between Dunfermline and Perth is 41 miles. The road distance is 28.4 miles.
The best way to get from Dunfermline to Perth without a car is to train which takes 1h 6m and costs £17 - £35.
The train from Dunfermline Town to Perth takes 1h 6m including transfers and departs once daily.
Dunfermline to Perth bus services, operated by Stagecoach East Scotland, depart from Bellyeoman Road station.
Dunfermline to Perth train services, operated by ScotRail, depart from Dunfermline Town station.
The best way to get from Dunfermline to Perth is to train which takes 1h 6m and costs £17 - £35. Alternatively, you can bus, which costs £5 - £10 and takes 1h 17m.
What companies run services between Dunfermline, Scotland and Perth, Scotland?
ScotRail operates a train from Dunfermline Town to Perth once daily. Tickets cost £17–35 and the journey takes 1h 6m. Alternatively, you can take a bus from Bellyeoman Road to Canal Street via Westcroft Way and Main Street in around 1h 17m.
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Dunfermline Town to Perth
- Ave. Duration
- 1h 6m
- Frequency
- Once daily
- Estimated price
- £17–35
- Website
- https://www.scotrail.co.uk/
- Phone
- 0345 241 8000
- customer.services@stagecoachbus.com
- Website
- stagecoachbus.com
Bus from Bellyeoman Road to Westcroft Way
- Ave. Duration
- 21 min
- Frequency
- Every 15 minutes
- Estimated price
- £2–4
- Website
- https://www.stagecoachbus.com
Bus from Main Street to Canal Street
- Ave. Duration
- 46 min
- Frequency
- Every 20 minutes
- Estimated price
- £3–6
- Website
- https://www.stagecoachbus.com
- Ave. Duration
- 33 min
- Estimated price
- £60–75
Uptown Cabs
- Phone
- +44 1383 621 117
M & M Taxis
- Phone
- +44 1383 727 235
Corporate Taxi Dunfermline
- Phone
- +44 1383 252 525
- Website
- corporatetaxi.co.uk
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
Dunfermline to Perth bus services, operated by Stagecoach East Scotland, arrive at Westcroft Way station.
Dunfermline to Perth train services, operated by ScotRail, arrive at Perth station.
Yes, the driving distance between Dunfermline to Perth is 28 miles. It takes approximately 33 min to drive from Dunfermline to Perth.
Book your Dunfermline to Perth train tickets online with Omio.
There are 384+ hotels available in Perth.






