The average bus between Portsoy and Perth takes 5h 59m and the fastest bus takes 5h 15m. The bus service runs several times per day from Portsoy to Perth. 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 Portsoy and Perth. The earliest departure is at 5:44 AM in the morning, and the last departure from Portsoy is at 8:15 PM which arrives into Perth at 6:51 AM. All services require a transfer at Union Square Bus Station and take an average of 5h 59m. The schedules shown below are for the next available departures.


5h 20m • 2 changes

6h 29m • 2 changes

6h 29m • 2 changes

5h 29m • 2 changes

5h 20m • 2 changes

6h 29m • 2 changes

6h 29m • 2 changes

5h 29m • 2 changes

5h 20m • 2 changes

6h 29m • 2 changes

6h 29m • 2 changes

5h 29m • 2 changes

5h 59m • 2 changes

5h 29m • 2 changes

5h 29m • 2 changes

5h 44m • 2 changes

5h 56m • 2 changes

5h 44m • 2 changes

5h 29m • 2 changes

5h 30m • 2 changes

5h 20m • 2 changes

6h 29m • 2 changes

6h 29m • 2 changes

5h 29m • 2 changesWant to know about travelling from Portsoy to Perth? 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 Portsoy to Perth. However, there are services departing from Seafield Street station and arriving at Overgate station via Union Square Bus Station. The journey, including transfers, takes approximately 5h 59m.
Portsoy to Perth bus services, operated by Stagecoach North Scotland, depart from Seafield Street station.
Portsoy to Perth bus services, operated by FlixBus, arrive at Overgate station.
The distance between Portsoy and Perth is 149.9 km. The road distance is 191 km.
You can take a bus from Seafield Street to Canal Street via Union Square Bus Station, Overgate, and Nethergate in around 4h 59m.