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

3h 10m • 1 change

3h 38m • 1 change

3h 11m • 1 change

3h 41m • 1 change

3h 20m • 1 change

3h 12m • 1 change

3h 32m • 1 change

3h 9m • 1 change

3h 4m • 1 change

3h 2m • 1 change

3h 3m • 1 change

3h 5m • 1 change

3h 21m • 1 change

3h 9m • 1 change

3h 47m • 1 change

3h 10m • 1 change

3h 21m • 1 change

3h 9m • 1 change

3h 47m • 1 change

3h 10m • 1 change
Want to know about travelling from Dunfermline to Preston? 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 Preston. However, there are services departing from Dunfermline station and arriving at Preston station via Preston. The journey, including transfers, takes approximately 3h 51m.
Dunfermline to Preston train services, operated by ScotRail, depart from Haymarket station.
Dunfermline to Preston train services, operated by ScotRail, arrive at Preston station.
Book your Dunfermline to Preston train tickets online with ScotRail, Avanti West Coast and TransPennine Express.
The distance between Dunfermline and Preston is 261.2 km. The road distance is 329 km.
Avanti West Coast operates a train from Haymarket to Preston every 4 hours. Tickets cost £65–110 and the journey takes 2h 16m. TransPennine Express also services this route every 4 hours.