The average bus between Mallaig and Aviemore takes 9h 7m and the fastest bus takes 5h 10m. The bus service runs several times per day from Mallaig to Aviemore. 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 Aviemore. 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 Aviemore at 11:30 AM. All services require a transfer at Fort William Bus Station and take an average of 9h 7m. The schedules shown below are for the next available departures.


5h 10m • 2 changes


5h 25m • 2 changes
Arrives next day


19h 40m • 2 changes


5h 10m • 2 changes


5h 25m • 2 changes
Arrives next day


19h 40m • 2 changes


5h 10m • 2 changes


5h 25m • 2 changes
Arrives next day


19h 40m • 2 changes
Want to know about travelling from Mallaig to Aviemore? 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 Aviemore. However, there are services departing from Mallaig station and arriving at Aviemore station via Fort William Bus Station station. The journey, including transfers, takes approximately 9h 7m.
Mallaig to Aviemore bus services, operated by Shiel Buses, depart from Boatyard station.
Mallaig to Aviemore bus services, operated by Shiel Buses, arrive at Station.
The distance between Mallaig and Aviemore is 122.6 km. The road distance is 226 km.
You can take a bus from Boatyard to Station via Fort William Bus Station, Inverness Union Street, and Bus Station Stance 3 in around 5h 23m.