There are 5 ways to get from Perth 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 Perth to Aberdeentrain Glasgow Queen Street - Aberdeen / ...
- Take the train from Aberdeen to Huntlytrain Aberdeen - Inverness / ...
3h 58m£129–193Bus
cheapest- Take the bus from Perth South Street to Aberdeen Union Streetbus Ember
- Take the bus from Union Square Bus Station to Seafield Streetbus 35
6h 13m£13–17Train, bus
- Take the train from Perth to Aberdeentrain Glasgow Queen Street - Aberdeen / ...
- Take the bus from Union Square Bus Station to Seafield Streetbus 35
4h 52m£37–59Drive 118.6 mi
- Drive from Perth to Portsoycar 118.6 mi
2h 33m£30–43Bus via Seagate Bus Station
- Take the bus from Seagate Bus Station to Union Square Bus Stationbus M9 / ...
- Take the bus from Union Square Bus Station to Seafield Streetbus 35
5h 18m£15–33
Perth to Portsoy by train and bus
Comparing Your Travel Options
The cheapest way to get from Perth to Portsoy is to bus which costs £12 - £17 and takes 6h 13m.
The fastest way to get from Perth to Portsoy is to drive which takes 2h 33m and costs £29 - £45.
No, there is no direct bus from Perth to Portsoy. However, there are services departing from South Street and arriving at Seafield Street via Seagate Bus Station and Union Square Bus Station. The journey, including transfers, takes approximately 5h 18m.
No, there is no direct train from Perth to Portsoy. However, there are services departing from Perth and arriving at Huntly via Aberdeen. The journey, including transfers, takes approximately 3h 58m.
The distance between Perth and Portsoy is 150 miles. The road distance is 119.3 miles.
The best way to get from Perth to Portsoy without a car is to train which takes 3h 58m and costs £120 - £200.
It takes approximately 3h 58m to get from Perth to Portsoy, including transfers.
Perth to Portsoy bus services, operated by Scottish Citylink Coaches Ltd, depart from Seagate Bus Station.
Perth to Portsoy train services, operated by ScotRail, depart from Perth station.
The best way to get from Perth to Portsoy is to train which takes 3h 58m and costs £120 - £200. Alternatively, you can bus via Seagate Bus Station, which costs £15 - £35 and takes 5h 18m.
What companies run services between Perth, Scotland and Portsoy, Scotland?
You can take a train from Perth to Portsoy via Aberdeen and Huntly in around 3h 58m. Alternatively, you can take a bus from South Street to Seafield Street via Seagate Bus Station and Union Square Bus Station in around 5h 18m.
- Phone
- +44 (0)344 811 0141
- Website
- ScotRail
Train from Perth to Aberdeen
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- £35–60
- Website
- ScotRail
Train from Aberdeen to Huntly
- Ave. Duration
- 52 min
- Frequency
- Every 2 hours
- Estimated price
- £15–26
- Website
- ScotRail
Train from Perth to Aberdeen
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- £35–60
- Website
- ScotRail
- Phone
- +44 330 060 0500
- Website
- Caledonian Sleeper
Train from Aberdeen to Huntly
- Ave. Duration
- 46 min
- Frequency
- Once a week
- Estimated price
- £9–13
- Website
- Caledonian Sleeper
- Phone
- 0345 241 8000
- Website
- Stagecoach North Scotland
Bus from Union Square Bus Station to Seafield Street
- Ave. Duration
- 2h 38m
- Frequency
- Hourly
- Estimated price
- £2
- Website
- Stagecoach North Scotland
Bus from Union Square Bus Station to Seafield Street
- Ave. Duration
- 2h 38m
- Frequency
- Hourly
- Estimated price
- £2
- Website
- Stagecoach North Scotland
Bus from Union Square Bus Station to Seafield Street
- Ave. Duration
- 2h 38m
- Frequency
- Hourly
- Estimated price
- £2
- Website
- Stagecoach North Scotland
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- Scottish Citylink Coaches Ltd
Bus from Seagate Bus Station to Union Square Bus Station
- Ave. Duration
- 1h 23m
- Frequency
- Every 20 minutes
- Estimated price
- £12–23
- Website
- Scottish Citylink Coaches Ltd
- Single
- £12–23
- Phone
- 01698 653164
- enquiries@parksofhamilton.co.uk
- Website
- Park's of Hamilton
Bus from Seagate Bus Station to Union Square Bus Station
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- £9–13
- Website
- Park's of Hamilton
Bus from Seagate Bus Station to Union Square Bus Station
- Ave. Duration
- 2h 52m
- Frequency
- 5 times a week
- Estimated price
- £11–16
- Website
- Stagecoach East Scotland
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- Ember
Bus from Perth South Street to Aberdeen Union Street
- Ave. Duration
- 2h 55m
- Frequency
- Hourly
- Estimated price
- £10–15
- 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
Booking & Getting There
Perth to Portsoy bus services, operated by Scottish Citylink Coaches Ltd, arrive at Union Square Bus Station.
Perth to Portsoy train services, operated by ScotRail, arrive at Aberdeen station.
Yes, the driving distance between Perth to Portsoy is 119 miles. It takes approximately 2h 33m to drive from Perth to Portsoy.
There are 270+ hotels available in Portsoy.























