The average train between Sheffield and Perth takes 5h 43m and the fastest train takes 5h 24m. There is a train service every few hours from Sheffield to Perth. 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 2 hours between Sheffield and Perth. The earliest departure is at 7:22 AM in the morning, and the last departure from Sheffield is at 7:22 PM which arrives into Perth at 12:55 AM. All services require a transfer, and take on average 5h 43m. The schedules shown below are for the next available departures.

5h 41m • 1 change

5h 48m • 1 change

5h 24m • 1 change

5h 51m • 1 change

5h 41m • 1 change

5h 48m • 1 change

5h 24m • 1 change

5h 51m • 1 change

5h 41m • 1 change

5h 48m • 1 change

5h 24m • 1 change

5h 51m • 1 change

5h 41m • 1 change

5h 48m • 1 change

5h 24m • 1 change

5h 51m • 1 change
Want to know about travelling from Sheffield to Perth? 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 Sheffield to Perth. However, there are services departing from Sheffield station and arriving at Perth station via Edinburgh Waverley. The journey, including transfers, takes approximately 5h 43m.
Sheffield to Perth train services, operated by Cross Country, depart from Sheffield station.
Sheffield to Perth train services, operated by Cross Country, arrive at Perth station.
Book your Sheffield to Perth train tickets online with Cross Country, ScotRail and London North Eastern Railway Limited (LNER).
The distance between Sheffield and Perth is 357.7 km. The road distance is 516 km.
You can take a train from Sheffield to Perth via Edinburgh Waverley in around 5h 49m.