The average train between Perth and Sheffield takes 6h 15m and the fastest train takes 5h 25m. The train service runs several times per day from Perth to Sheffield. 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 Perth and Sheffield. The earliest departure is at 6:19 AM in the morning, and the last departure from Perth is at 11:28 PM which arrives into Sheffield at 9:54 AM. All services require a transfer, and take on average 6h 15m. The schedules shown below are for the next available departures.

5h 30m • 1 change

5h 27m • 1 change

5h 28m • 1 change

5h 35m • 1 change

5h 35m • 1 change

5h 38m • 1 change

5h 48m • 1 change

5h 37m • 1 change

5h 35m • 1 change

5h 38m • 1 change

5h 48m • 1 change

5h 37m • 1 change

5h 35m • 1 change

5h 38m • 1 change

5h 48m • 1 change

5h 37m • 1 change

5h 35m • 1 change

5h 38m • 1 change

5h 48m • 1 change

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