The average train between Perth and St James' Park takes 3h 23m and the fastest train takes 2h 52m. There is a train service every few hours from Perth to St James' Park. 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 hourly between Perth and St James' Park. 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 St James' Park at 6:58 AM. All services require a transfer at Edinburgh Waverley and take an average of 3h 23m. The schedules shown below are for the next available departures.
Arrives next day

4h 11m • 1 change
Arrives next day

7h 29m • 1 change

3h 2m • 1 change

3h 21m • 1 change

3h 17m • 1 change

3h 15m • 1 change

3h 2m • 1 change

3h 21m • 1 change

3h 17m • 1 change

3h 15m • 1 change

3h 2m • 1 change

3h 21m • 1 change

3h 17m • 1 change

3h 15m • 1 change
Want to know about travelling from Perth to St James' Park? 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 St James' Park. However, there are services departing from Perth station and arriving at St James' Park station via Edinburgh Waverley. The journey, including transfers, takes approximately 3h 23m.
Perth to St James' Park train services, operated by ScotRail, depart from Perth station.
Perth to St James' Park train services, operated by ScotRail, arrive at Newcastle station.
Book your Perth to St James' Park train tickets online with ScotRail, TransPennine Express and 3 other operators.
The distance between Perth and St James' Park is 194.4 km. The road distance is 289 km.
You can take a train from Perth to St James' Park via Edinburgh Waverley and Newcastle in around 3h 18m.