There are 6 ways to get from Perth to Dunfermline by bus, train, 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.
Bus
best- Take the bus from Perth Bus Station to Halbeath Park & Ridemegabus M90 / ...
46 min£7–12Bus via Bus Station
cheapest- Take the bus from Scott Street to Park & Ride Arrival BayX56
- Take the bus from Park & Ride to Bus StationX24 / ...
1h 31m£6–10Train
- Take the train from Perth to Dunfermline TownPerth - Edinburgh / ...
1h 4m£18–19Drive 28.4 mi
- Drive from Perth to Dunfermline28.4 mi
33 min£7–11Taxi
- Take the taxi from Perth to Dunfermline28.4 mi
33 min£60–75Train, bus
- Take the train from Perth to InverkeithingPerth - Edinburgh / ...
- Take the bus from Bannerman Avenue to Bus Station7D / ...
1h 45m£20–22
Perth to Dunfermline by bus
Questions & Answers
The cheapest way to get from Perth to Dunfermline is to bus via Bus Station which costs £6 - £10 and takes 1h 31m.
The fastest way to get from Perth to Dunfermline is to drive which takes 33 min and costs £7 - £11.
Yes, there is a direct bus departing from Perth Bus Station station and arriving at Halbeath Park & Ride. Services depart hourly, and operate every day. The journey takes approximately 46 min.
Yes, there is a direct train departing from Perth and arriving at Dunfermline Town. Services depart once daily, and operate every day. The journey takes approximately 1h 4m.
The distance between Perth and Dunfermline is 30 miles. The road distance is 28.5 miles.
The best way to get from Perth to Dunfermline without a car is to bus which takes 46 min and costs £7 - £12.
The bus from Perth Bus Station to Halbeath Park & Ride takes 46 min including transfers and departs hourly.
Perth to Dunfermline bus services, operated by Megabus UK, depart from Perth Bus Station.
Perth to Dunfermline train services, operated by ScotRail, depart from Perth station.
The best way to get from Perth to Dunfermline is to bus which takes 46 min and costs £7 - £12. Alternatively, you can train, which costs £18 - £19 and takes 1h 4m.
What companies run services between Perth, Scotland and Dunfermline, Scotland?
Megabus UK operates a bus from Perth Bus Station to Halbeath Park & Ride every 2 hours. Tickets cost £8–12 and the journey takes 46 min. Two other operators also service this route. Alternatively, ScotRail operates a train from Perth to Dunfermline Town once daily. Tickets cost £18–19 and the journey takes 1h 4m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Perth to Dunfermline Town
- Ave. Duration
- 1h 4m
- Frequency
- Once daily
- Estimated price
- £18–19
- Website
- https://www.scotrail.co.uk/
Train from Perth to Inverkeithing
- Ave. Duration
- 1h 5m
- Frequency
- Hourly
- Estimated price
- £18–19
- Website
- https://www.scotrail.co.uk/
- Phone
- 0141 352 4444
- enquiries@megabus.com
- Website
- uk.megabus.com
Bus from Perth Bus Station to Halbeath Park & Ride
- Ave. Duration
- 46 min
- Frequency
- Every 2 hours
- Estimated price
- £8–12
- Website
- https://uk.megabus.com
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- citylink.co.uk
Bus from Perth Bus Station to Halbeath Park & Ride
- Ave. Duration
- 46 min
- Frequency
- Every 3 hours
- Estimated price
- £7–11
- Website
- https://www.citylink.co.uk/
- Phone
- 01698 653164
- enquiries@parksofhamilton.co.uk
- Website
- parksofhamilton.co.uk
Bus from Perth Bus Station to Halbeath Park & Ride
- Ave. Duration
- 45 min
- Frequency
- 4 times a day
- Website
- https://www.parksofhamilton.co.uk/
- Phone
- 0345 241 8000
- customer.services@stagecoachbus.com
- Website
- stagecoachbus.com
Bus from Scott Street to Park & Ride Arrival Bay
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- £4–6
- Website
- https://www.stagecoachbus.com
Bus from Park & Ride to Bus Station
- Ave. Duration
- 16 min
- Frequency
- Hourly
- Estimated price
- £2–4
- Website
- https://www.stagecoachbus.com
Bus from Bannerman Avenue to Bus Station
- Ave. Duration
- 18 min
- Frequency
- Hourly
- Estimated price
- £2–4
- Website
- https://www.stagecoachbus.com
- Ave. Duration
- 33 min
- Estimated price
- £60–75
Thistle Taxis
- Phone
- +44 1738 441 122
- Website
- thistletaxis.co.uk
Scone Taxis
- Phone
- +44 7941 640 019
Perth Radio Taxis
- Phone
- +44 1738 580 058
- Website
- perthradiotaxis.co.uk
Ace Taxis Perth
- Phone
- +44 1738 444 000
- Website
- acetaxisperth.co.uk
A&B Taxus
- Phone
- +44 1738 446 688
- Website
- abtaxisperth.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
Perth to Dunfermline bus services, operated by Megabus UK, arrive at Halbeath Park & Ride station.
Perth to Dunfermline train services, operated by ScotRail, arrive at Dunfermline Town station.
Yes, the driving distance between Perth to Dunfermline is 29 miles. It takes approximately 33 min to drive from Perth to Dunfermline.
Book your Perth to Dunfermline train tickets online with Omio.
Book your Perth to Dunfermline bus tickets online with Omio and Distribusion.
There are 2467+ hotels available in Dunfermline.

















