The average train between Keighley and Edinburgh takes 4h 2m and the fastest train takes 3h 27m. There is a train service every few hours from Keighley to Edinburgh. 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 Keighley and Edinburgh. The earliest departure is at 7:32 AM in the morning, and the last departure from Keighley is at 11:04 PM which arrives into Edinburgh at 9:10 AM. All services require a transfer, and take on average 4h 2m. The schedules shown below are for the next available departures.

3h 30m • 1 change

3h 34m • 1 change

3h 34m • 1 change

3h 42m • 1 change

3h 36m • 1 change

3h 47m • 1 change

3h 35m • 1 change

3h 38m • 1 change

3h 36m • 1 change

3h 47m • 1 change

3h 35m • 1 change

3h 38m • 1 change

3h 36m • 1 change

3h 47m • 1 change

3h 35m • 1 change

3h 38m • 1 change
Want to know about travelling from Keighley to Edinburgh? 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 Keighley to Edinburgh. However, there are services departing from Keighley station and arriving at Edinburgh station via Edinburgh Waverley. The journey, including transfers, takes approximately 4h 2m.
Keighley to Edinburgh train services, operated by Northern Trains Limited, depart from Leeds station.
Keighley to Edinburgh train services, operated by Northern Trains Limited, arrive at Edinburgh Waverley station.
Book your Keighley to Edinburgh train tickets online with Northern Trains Limited and Cross Country.
The distance between Keighley and Edinburgh is 246 km. The road distance is 394 km.
Cross Country operates a train from Leeds to Edinburgh Waverley hourly. Tickets cost £110–170 and the journey takes 3h.