There are 6 ways to get from Dunfermline to Portsoy by train, bus, or car
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 Inverkeithing to Aberdeentrain London Kings Cross - Aberdeen / ...
- Take the train from Aberdeen to Huntlytrain Aberdeen - Inverness / ...
5h 39m£134–238Drive 145 mi
cheapest- Drive from Dunfermline to Portsoycar 145 mi
2h 56m£36–52Bus
- Take the bus from Rosyth to Aberdeen Union Streetbus Ember
- Take the bus from The Square to Union Roadbus 35
6h 49m£75–97Bus, train
- Take the bus from Park & Ride to Bus Stationbus M90
- Take the train from Perth to Huntlytrain
- Take the bus from The Square to Low Streetbus 301
8h 30mTrain, line 35 bus, bus
- Take the train from Inverkeithing to Aberdeentrain
- Take the bus from Union Square Bus Station to The Squarebus 35
- Take the bus from The Square to Town Hallbus 35
6h 22m£43–99Train, bus
- Take the train from Edinburgh Waverley to Huntlytrain London Euston - Inverness
- Take the bus from The Square to Low Streetbus 301
7h 47m
Questions & Answers
The cheapest way to get from Dunfermline to Portsoy is to drive which costs £35 - £55 and takes 2h 56m.
The fastest way to get from Dunfermline to Portsoy is to drive which takes 2h 56m and costs £35 - £55.
No, there is no direct bus from Dunfermline to Portsoy. However, there are services departing from St Leonard's Church and arriving at Chapel Lane via Rosyth, Broad Street, The Square and Union Road. The journey, including transfers, takes approximately 6h 49m.
No, there is no direct train from Dunfermline to Portsoy. However, there are services departing from Dunfermline Town and arriving at Huntly via Inverkeithing and Aberdeen. The journey, including transfers, takes approximately 5h 39m.
The distance between Dunfermline and Portsoy is 178 miles. The road distance is 145.8 miles.
The best way to get from Dunfermline to Portsoy without a car is to train which takes 5h 39m and costs £130 - £240.
It takes approximately 5h 39m to get from Dunfermline to Portsoy, including transfers.
Dunfermline to Portsoy bus services, operated by Ember, depart from Rosyth station.
Dunfermline to Portsoy train services, operated by London North Eastern Railway Limited (LNER), depart from Inverkeithing station.
The best way to get from Dunfermline to Portsoy is to train which takes 5h 39m and costs £130 - £240. Alternatively, you can bus, which costs £75 - £100 and takes 6h 49m.
What companies run services between Dunfermline, Scotland and Portsoy, Scotland?
You can take a train from Dunfermline Town to Portsoy via Inverkeithing, Aberdeen, and Huntly in around 5h 39m. Alternatively, you can take a bus from St Leonard's Church to Chapel Lane via Parkside Street, Rosyth, Aberdeen Union Street, Broad Street, Fechnie Brae, The Square, and Union Road in around 6h 49m.
Train from Inverkeithing to Aberdeen
- Ave. Duration
- 2h 13m
- Frequency
- 4 times a day
- Estimated price
- £40–60
- Website
- London North Eastern Railway Limited (LNER)
Train from Inverkeithing to Aberdeen
- Ave. Duration
- 2h 13m
- Frequency
- 4 times a day
- Estimated price
- £40–60
- Website
- London North Eastern Railway Limited (LNER)
- Phone
- +44 (0)131 510 4007
- [email protected]
- Website
- Ember
Bus from Rosyth to Aberdeen Union Street
- Ave. Duration
- 2h 56m
- Frequency
- Hourly
- Estimated price
- £12–18
- Website
- Ember
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 Portsoy bus services, operated by Ember, arrive at Aberdeen Union Street station.
Dunfermline to Portsoy train services, operated by London North Eastern Railway Limited (LNER), arrive at Aberdeen station.
Yes, the driving distance between Dunfermline to Portsoy is 146 miles. It takes approximately 2h 56m to drive from Dunfermline to Portsoy.
There are 269+ hotels available in Portsoy.




