The average train between Walsall and Keighley takes 4h 5m and the fastest train takes 2h 51m. There is a train service every few hours from Walsall to Keighley. 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 Walsall and Keighley. The earliest departure is at 6:02 AM in the morning, and the last departure from Walsall is at 11:32 PM which arrives into Keighley at 8:41 AM. All services require a transfer at Birmingham New Street and take an average of 4h 5m. The schedules shown below are for the next available departures.
Arrives next day


9h 22m • 2 changes
Arrives next day


9h 9m • 2 changes


3h 41m • 2 changes


3h 22m • 2 changes


3h 30m • 2 changes


3h 21m • 2 changes


3h 41m • 2 changes


3h 22m • 2 changes


3h 30m • 2 changes


3h 21m • 2 changes


3h 41m • 2 changes


3h 22m • 2 changes


3h 30m • 2 changes


3h 21m • 2 changes
Want to know about travelling from Walsall to Keighley? 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 Keighley. However, there are services departing from Walsall station and arriving at Keighley station via Leeds. The journey, including transfers, takes approximately 4h 5m.
Walsall to Keighley train services, operated by West Midlands Trains, depart from Birmingham New Street station.
Walsall to Keighley train services, operated by West Midlands Trains, arrive at Leeds station.
Book your Walsall to Keighley train tickets online with West Midlands Trains, Cross Country and Northern Trains Limited.
The distance between Walsall and Keighley is 142.7 km. The road distance is 225 km.
Cross Country operates a train from Birmingham New Street to Leeds hourly. Tickets cost £60–90 and the journey takes 1h 59m.