The average train between Perth and Invergordon takes 4h 40m and the fastest train takes 3h 1m. The train service runs several times per day from Perth to Invergordon. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 4 hours between Perth and Invergordon. The earliest departure is at 8:11 AM in the morning, and the last departure from Perth is at 9:00 PM which arrives into Invergordon at 10:30 AM. All services require a transfer, and take on average 4h 40m. The schedules shown below are for the next available departures.

3h 37m • 1 change

3h 48m • 1 change

3h 13m • 1 change

3h 16m • 1 change

3h 17m • 1 change

3h 37m • 1 change

3h 48m • 1 change

3h 13m • 1 change

3h 17m • 1 change

3h 37m • 1 change

3h 48m • 1 change

3h 13m • 1 change

3h 17m • 1 change

3h 37m • 1 change

3h 48m • 1 change

3h 13m • 1 change

3h 17m • 1 change

3h 37m • 1 change

3h 48m • 1 change

3h 13m • 1 change

4h 5m • 1 change

3h 1m • 1 change

3h 56m • 1 change
Arrives next day

12h 43m • 1 change

3h 17m • 1 change

3h 37m • 1 change

3h 48m • 1 change

3h 13m • 1 change
Want to know about travelling from Perth to Invergordon? 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 train from Perth to Invergordon. However, there are services departing from Perth station and arriving at Invergordon station via Inverness. The journey, including transfers, takes approximately 4h 40m.
Perth to Invergordon train services, operated by ScotRail, depart from Perth station.
Perth to Invergordon train services, operated by ScotRail, arrive at Invergordon station.
Book your Perth to Invergordon train tickets online with ScotRail and London North Eastern Railway Limited (LNER).
The distance between Perth and Invergordon is 150.6 km. The road distance is 237 km.
You can take a train from Perth to Invergordon via Inverness in around 4h 16m.