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 1:08 PM. 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.



5h 28m • 3 changes


6h 58m • 3 changesArrives next day



13h 4m • 3 changesArrives next day



14h 49m • 3 changes


5h 28m • 3 changes


6h 58m • 3 changesArrives next day



13h 4m • 3 changesArrives next day



14h 49m • 3 changesWant 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 £12–20 and the journey takes 2h 25m. Two other operators also service this route.