The average train between Dunfermline and London takes 5h 33m and the fastest train takes 4h 54m. There is a train service every few hours from Dunfermline to London. 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 Dunfermline and London. The earliest departure is at 6:26 AM in the morning, and the last departure from Dunfermline is at 11:50 PM which arrives into London at 9:47 AM. All services require a transfer, and take on average 5h 33m. The schedules shown below are for the next available departures.

5h 4m • 1 change

4h 59m • 1 change

5h 3m • 1 change

5h 7m • 1 change

5h 31m • 1 change

5h 7m • 1 change

5h 36m • 1 change

5h 1m • 1 change

5h 31m • 1 change

5h 7m • 1 change

5h 36m • 1 change

5h 1m • 1 change

5h 31m • 1 change

5h 8m • 1 change

5h 34m • 1 change

5h 4m • 1 change
Want to know about travelling from Dunfermline to London? 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 Dunfermline to London. However, there are services departing from Dunfermline station and arriving at London station via King's Cross. The journey, including transfers, takes approximately 5h 33m.
Dunfermline to London train services, operated by ScotRail, depart from Edinburgh Waverley station.
Dunfermline to London train services, operated by ScotRail, arrive at King's Cross station.
Book your Dunfermline to London train tickets online with ScotRail and London North Eastern Railway Limited (LNER).
The distance between Dunfermline and London is 552.5 km. The road distance is 654 km.
London North Eastern Railway Limited (LNER) operates a train from Edinburgh Waverley to King's Cross hourly. Tickets cost £110–170 and the journey takes 4h 8m.