The average bus between Perth and Portsoy takes 7h 53m and the fastest bus takes 6h 3m. The bus service runs several times per day from Perth to Portsoy. 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 every 3 hours between Perth and Portsoy. The earliest departure is at 1:17 AM at night, and the last departure from Perth is at 6:18 PM which arrives into Portsoy at 4:46 AM. All services require a transfer at Seagate Bus Station and take an average of 7h 53m. The schedules shown below are for the next available departures.




9h 29m • 4 changes




10h 29m • 4 changes




6h 3m • 4 changes




6h 33m • 4 changes




9h 29m • 4 changes




10h 29m • 4 changes




6h 3m • 4 changes




6h 33m • 4 changes




9h 29m • 4 changes




9h 29m • 4 changes




8h 29m • 4 changes




6h 3m • 4 changes




10h 29m • 4 changes




9h 29m • 4 changes




7h 3m • 4 changes




6h 3m • 4 changes




7h 3m • 4 changes




8h 33m • 4 changes
Arrives next day




10h 28m • 4 changes




9h 29m • 4 changes




10h 29m • 4 changes




6h 3m • 4 changes




6h 33m • 4 changes
Want to know about travelling from Perth to Portsoy? 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 Portsoy. However, there are services departing from Perth station and arriving at Portsoy station via Union Square Bus Station station. The journey, including transfers, takes approximately 7h 53m.
Perth to Portsoy bus services, operated by Scottish Citylink Coaches Ltd, depart from Seagate Bus Station.
Perth to Portsoy bus services, operated by Scottish Citylink Coaches Ltd, arrive at Union Road station.
The distance between Perth and Portsoy is 149.9 km. The road distance is 235 km.
You can take a bus from South Street to Seafield Street via Seagate Bus Station, Union Square Bus Station, The Square, and Union Road in around 5h 38m.