There are 5 ways to get from Perth to Portmahomack 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, bus
best- Take the train from Perth to Invernesstrain
- Take the bus from Bus Station Stance 2 to Librarybus X25 / ...
- Take the bus from Library to Post Officebus X25 / ...
- Take the bus from Post Office to Post Officebus
5h 27m£36–86Bus
cheapest- Take the bus from Perth station to Inverness Union Streetbus Ember
- Take the bus from Inverness Union Street to Tain Post Officebus Ember
6h 4m£22–29Bus via Alness
- Take the bus from Bus Station to Bus Station Stance 3bus Uk093 / ...
5h 29m£26–52Drive 152 mi
- Drive from Perth to Portmahomackcar 152 mi
3h 1m£38–55Train
- Take the train from Perth to Invernesstrain Edinburgh - Inverness / ...
- Take the train from Inverness to Taintrain Inverness - Wick / ...
5h 53m£46–104
Comparing Your Travel Options
The cheapest way to get from Perth to Portmahomack is to bus which costs £21 - £30 and takes 6h 4m.
The fastest way to get from Perth to Portmahomack is to drive which takes 3h 1m and costs £35 - £55.
No, there is no direct bus from Perth station to Portmahomack. However, there are services departing from Bus Station and arriving at Post Office via Bus Station Stance 2, Library and Post Office. The journey, including transfers, takes approximately 5h 29m.
No, there is no direct train from Perth to Portmahomack. However, there are services departing from Perth and arriving at Tain via Inverness. The journey, including transfers, takes approximately 5h 53m.
The distance between Perth and Portmahomack is 165 miles. The road distance is 152.8 miles.
The best way to get from Perth to Portmahomack without a car is to train and bus which takes 5h 27m and costs £35 - £90.
It takes approximately 5h 27m to get from Perth to Portmahomack, including transfers.
Perth to Portmahomack bus services, operated by FlixBus, depart from Bus Station.
Perth to Portmahomack train services, operated by ScotRail, depart from Perth station.
The best way to get from Perth to Portmahomack is to bus via Alness which takes 5h 29m and costs £26 - £55. Alternatively, you can train, which costs £45 - £110 and takes 5h 53m.
What companies run services between Perth, Scotland and Portmahomack, Scotland?
FlixBus operates a bus from Bus Station to Bus Station Stance 3 hourly. Tickets cost £12–19 and the journey takes 2h 25m. Two other operators also service this route. Alternatively, you can take a train from Perth to Post Office via Inverness, Tain, and Post Office in around 5h 53m.
- Phone
- +44 (0)344 811 0141
- Website
- ScotRail
Train from Perth to Inverness
- Ave. Duration
- 2h 23m
- Frequency
- Every 3 hours
- Estimated price
- £45–75
- Website
- ScotRail
Train from Perth to Inverness
- Ave. Duration
- 2h 23m
- Frequency
- Every 3 hours
- Estimated price
- £45–75
- Website
- ScotRail
Train from Inverness to Tain
- Ave. Duration
- 1h 12m
- Frequency
- 5 times a day
- Estimated price
- £17–28
- Website
- ScotRail
- Phone
- 0345 241 8000
- Website
- Stagecoach North Scotland
Bus from Bus Station Stance 2 to Library
- Ave. Duration
- 38 min
- Frequency
- Every 30 minutes
- Estimated price
- £2
- Website
- Stagecoach North Scotland
Bus from Library to Post Office
- Ave. Duration
- 40 min
- Frequency
- Every 30 minutes
- Estimated price
- £2
- Website
- Stagecoach North Scotland
Bus from Post Office to Post Office
- Ave. Duration
- 33 min
- Frequency
- 3 times a day
- Estimated price
- £2
- Website
- Stagecoach North Scotland
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
Want to know more about Flixbus?
Read the travel guide
Booking & Getting There
Perth to Portmahomack bus services, operated by FlixBus, arrive at Bus Station Stance 3.
Perth to Portmahomack train services, operated by ScotRail, arrive at Inverness station.
Yes, the driving distance between Perth to Portmahomack is 153 miles. It takes approximately 3h 1m to drive from Perth to Portmahomack.
There are 307+ hotels available in Portmahomack.




