Perth has direct ScotRail and LNER trains to Aviemore, and they are the way to go: about 1h 35m on a typical run, 1h 25m on the fastest, with four stops and no change.
The catch is the spacing. On the weekday timetable we checked, departures from Perth were at 08:11, 10:02, 11:16, 11:53, 13:11, 14:50, 16:19, 17:53, 19:03, 20:27 and 21:00. The 08:11 was the earliest train we found, and on a typical run it reaches Aviemore at about 09:45, before the following train, the 10:02, has even left Perth; the latest, the 21:00, gets in at about 22:34.
The afternoon trains are spread out, with the 16:19, 17:53 and 19:03 each more than an hour apart, so a late-afternoon start from Perth needs a little planning. In the evening the service picks up again, with the 19:03, 20:27 and 21:00 all running within two hours.
Through the day the gaps between Perth departures run from about half an hour to almost two hours, so missing an Aviemore train can cost you longer than the 1h 35m ride itself.
The 21:00 was the latest train found. After it, the planner listed buses running all the way to Aviemore at 21:19 and 22:55, taking about 1h 48m, and one at 21:10 with a change at Perth Broxden Park and Ride that took about 1h 57m. They take 14 to 23 minutes longer than the train, but they keep a late departure from Perth possible once the 21:00 train has gone.
Grampian Road lies roughly 430 metres from Aviemore station, about six minutes on foot, so the walk barely adds to the train time from Perth.
Journey times and changes below come from the rail and bus timetables for Tuesday 1 December 2026. Weekend and holiday timetables differ, so check the day you travel.
From Perth on the weekday we checked: every 75 to 90 minutes or so between 08:11 and 21:00.
By road it is about 82 miles from Perth to Aviemore, mostly via the A9 — roughly 1h 43m with clear roads. Car parks in Aviemore are listed on the Getting Here page.