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




9h 45m • 4 changes




10h 45m • 4 changes




6h 19m • 4 changes




6h 49m • 4 changes




9h 45m • 4 changes




10h 45m • 4 changes




6h 19m • 4 changes




6h 49m • 4 changes




9h 45m • 4 changes




10h 45m • 4 changes




6h 19m • 4 changes




6h 49m • 4 changes




9h 45m • 4 changes




9h 45m • 4 changes




8h 45m • 4 changes




6h 19m • 4 changes




10h 45m • 4 changes




9h 45m • 4 changes




7h 19m • 4 changes




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