The average bus between Perth and Portmahomack takes 10h 8m and the fastest bus takes 5h 28m. The bus service runs several times per day from Perth to Portmahomack. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run 3 times a day between Perth and Portmahomack. The earliest departure is at 10:55 AM in the morning, and the last departure from Perth is at 7:43 PM which arrives into Portmahomack at 10:32 AM. All services require a transfer at Bus Station Stance 2 and take an average of 10h 8m. The schedules shown below are for the next available departures.



6h 58m • 3 changes
Arrives next day



13h 4m • 3 changes
Arrives next day



14h 49m • 3 changes



5h 28m • 3 changes



6h 58m • 3 changes
Arrives next day



13h 4m • 3 changes
Arrives next day



17h 25m • 3 changes
Want to know about travelling from Perth to Portmahomack? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct bus from Perth to Portmahomack. However, there are services departing from Perth station and arriving at Portmahomack station via Bus Station Stance 3 station. The journey, including transfers, takes approximately 10h 8m.
Perth to Portmahomack bus services, operated by FlixBus, depart from Bus Station.
Perth to Portmahomack bus services, operated by FlixBus, arrive at Bus Station Stance 3.
The distance between Perth and Portmahomack is 162.2 km. The road distance is 257 km.
FlixBus operates a bus from Bus Station to Bus Station Stance 3 hourly. Tickets cost £11–20 and the journey takes 2h 25m. Two other operators also service this route.