The average bus between Perth and Grantown-on-Spey takes 3h 23m and the fastest bus takes 2h 27m. The bus service runs several times per day from Perth to Grantown-on-Spey. 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 Grantown-on-Spey. The earliest departure is at 3:27 AM at night, and the last departure from Perth is at 7:17 PM which arrives into Grantown-on-Spey at 10:08 PM. All services require a transfer, and take on average 3h 23m. The schedules shown below are for the next available departures.

3h 13m • 1 change

3h 28m • 1 change

3h 3m • 1 change

3h 32m • 1 change

3h 25m • 1 change

3h 28m • 1 change

3h 13m • 1 change

3h 15m • 1 change

3h 19m • 1 change

2h 27m • 1 change

3h 3m • 1 change

3h 32m • 1 change

3h 13m • 1 change

3h 28m • 1 change

3h 3m • 1 change

3h 32m • 1 change

3h 13m • 1 change

3h 28m • 1 change

3h 3m • 1 change

3h 32m • 1 change
Want to know about travelling from Perth to Grantown-on-Spey? 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 Grantown-on-Spey. However, there are services departing from Perth station and arriving at Grantown-on-Spey station via Aviemore station station. The journey, including transfers, takes approximately 3h 23m.
Perth to Grantown-on-Spey bus services, operated by Ember, depart from Perth station.
Perth to Grantown-on-Spey bus services, operated by Ember, arrive at Ritchies Country Wear station.
The distance between Perth and Grantown-on-Spey is 104.5 km. The road distance is 162 km.
You can take a bus from Perth station to Ritchies Country Wear via Cairngorm Hotel in around 2h 46m.