The average bus between Mallaig and Grantown-on-Spey takes 9h 5m and the fastest bus takes 5h 41m. The bus service runs several times per day from Mallaig 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 twice daily between Mallaig and Grantown-on-Spey. The earliest departure is at 8:55 AM in the morning, and the last departure from Mallaig is at 3:50 PM which arrives into Grantown-on-Spey at 6:58 AM. All services require a transfer at Fort William Bus Station and take an average of 9h 5m. The schedules shown below are for the next available departures.



5h 41m • 3 changes



8h 13m • 3 changes
Arrives next day



14h 56m • 3 changes



5h 41m • 3 changes



8h 13m • 3 changes
Arrives next day



14h 56m • 3 changes
Want to know about travelling from Mallaig 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 Mallaig to Grantown-on-Spey. However, there are services departing from Mallaig station and arriving at Grantown-on-Spey station via Fort William Bus Station station. The journey, including transfers, takes approximately 9h 5m.
Mallaig to Grantown-on-Spey bus services, operated by Shiel Buses, depart from Boatyard station.
Mallaig to Grantown-on-Spey bus services, operated by Shiel Buses, arrive at Aviemore station.
The distance between Mallaig and Grantown-on-Spey is 138.5 km. The road distance is 256 km.
You can take a bus from Boatyard to Ritchies Country Wear via Fort William Bus Station, Inverness Union Street, and Cairngorm Hotel in around 6h 27m.