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

3h 27m • 1 change

2h 6m • 1 change

3h 1m • 1 change

2h 46m • 1 change

3h 27m • 1 change

2h 6m • 1 change

3h 1m • 1 change

2h 46m • 1 change

3h 27m • 1 change

2h 6m • 1 change

3h 1m • 1 change

2h 46m • 1 change

3h 27m • 1 change

2h 6m • 1 change

3h 1m • 1 change

2h 46m • 1 change

3h 27m • 1 change

2h 3m • 1 change

2h 54m • 1 change

2h 58m • 1 change

3h 27m • 1 change

2h 9m • 1 change

3h 15m • 1 change

2h 58m • 1 change
Want to know about travelling from Aviemore to Invergarry? 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 Aviemore to Invergarry. However, there are services departing from Aviemore station and arriving at Invergarry station via Inverness Union Street. The journey, including transfers, takes approximately 2h 49m.
Aviemore to Invergarry bus services, operated by Ember, depart from Aviemore station.
Aviemore to Invergarry bus services, operated by Ember, arrive at Invergarry station.
The distance between Aviemore and Invergarry is 60.5 km. The road distance is 116 km.
You can take a bus from Aviemore station to Invergarry via Inverness Union Street in around 2h 53m.