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

5h 5m • 1 change

5h 7m • 1 change

5h 6m • 1 change

5h 6m • 1 change

5h 5m • 1 change

5h 7m • 1 change

5h 6m • 1 change

5h 6m • 1 change

5h 5m • 1 change

5h 7m • 1 change

5h 6m • 1 change

5h 6m • 1 change

5h 5m • 1 change

5h 7m • 1 change

5h 7m • 1 change

5h 7m • 1 change
Want to know about travelling from Derby to Dunfermline? 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 Derby to Dunfermline. However, there are services departing from Derby station and arriving at Dunfermline station via Edinburgh Waverley. The journey, including transfers, takes approximately 5h 13m.
Derby to Dunfermline train services, operated by Cross Country, depart from Derby station.
Derby to Dunfermline train services, operated by Cross Country, arrive at Edinburgh Waverley station.
Book your Derby to Dunfermline train tickets online with Cross Country and ScotRail.
The distance between Derby and Dunfermline is 372.8 km. The road distance is 511 km.
Cross Country operates a train from Derby to Edinburgh Waverley hourly. Tickets cost £150–220 and the journey takes 4h 25m.