The average train between Walsall and Perth takes 7h 24m and the fastest train takes 6h 4m. The train service runs several times per day from Walsall 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 4 hours between Walsall and Perth. The earliest departure is at 7:49 AM in the morning, and the last departure from Walsall is at 10:47 PM which arrives into Perth at 5:04 PM. All services require a transfer at Wolverhampton and take an average of 7h 24m. The schedules shown below are for the next available departures.


6h 23m • 2 changes

6h 26m • 2 changes

6h 4m • 2 changes

6h 24m • 2 changes

6h 23m • 2 changes

6h 26m • 2 changes

6h 4m • 2 changes

6h 24m • 2 changes

6h 21m • 2 changes

6h 26m • 2 changes

6h 5m • 2 changes

6h 23m • 2 changes

6h 23m • 2 changes

6h 26m • 2 changes

6h 4m • 2 changes

6h 24m • 2 changes

6h 23m • 2 changes

6h 26m • 2 changes

6h 4m • 2 changes

6h 24m • 2 changesWant to know about travelling from Walsall 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 Walsall to Perth. However, there are services departing from Wolverhampton station and arriving at Perth station via Haymarket station. The journey, including transfers, takes approximately 7h 24m.
Walsall to Perth train services, operated by Avanti West Coast, depart from Wolverhampton station.
Walsall to Perth train services, operated by ScotRail, arrive at Perth station.
Book your Walsall to Perth train tickets online with Omio.
The distance between Walsall and Perth is 433.8 km. The road distance is 512 km.
You can take a train from Darlaston to Perth via Wolverhampton and Haymarket in around 6h 52m.