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

3h 21m • 1 change

3h 17m • 1 change

3h 26m • 1 change

3h 23m • 1 change

3h 19m • 1 change

3h 27m • 1 change

3h 15m • 1 change

3h 27m • 1 change

3h 24m • 1 change

3h 32m • 1 change

3h 23m • 1 change

3h 31m • 1 change

3h 13m • 1 change

3h 21m • 1 change

3h 17m • 1 change

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