The average train between Dunfermline and Elgin takes 7h 2m and the fastest train takes 4h 22m. The train service runs several times per day from Dunfermline to Elgin. 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 5 times a day between Dunfermline and Elgin. The earliest departure is at 10:30 AM in the morning, and the last departure from Dunfermline is at 11:51 PM which arrives into Elgin at 2:26 PM. All services require a transfer at Westcroft Way and take an average of 7h 2m. The schedules shown below are for the next available departures.


4h 40m • 2 changes


4h 22m • 2 changes


4h 55m • 2 changes
Arrives next day


11h 9m • 2 changes


4h 40m • 2 changes


4h 22m • 2 changes


4h 55m • 2 changes
Arrives next day


11h 9m • 2 changes


4h 40m • 2 changes


4h 22m • 2 changes


4h 55m • 2 changes
Arrives next day


11h 9m • 2 changes


4h 40m • 2 changes


4h 22m • 2 changes


4h 55m • 2 changes
Arrives next day


11h 9m • 2 changes


4h 40m • 2 changes


4h 22m • 2 changes


4h 55m • 2 changes
Arrives next day


11h 9m • 2 changes
Want to know about travelling from Dunfermline to Elgin? 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 Elgin. However, there are services departing from Dunfermline station and arriving at Elgin station via Elgin. The journey, including transfers, takes approximately 7h 2m.
Dunfermline to Elgin train services, operated by ScotRail, depart from Perth station.
Dunfermline to Elgin train services, operated by ScotRail, arrive at Elgin station.
Book your Dunfermline to Elgin train tickets online with ScotRail and London North Eastern Railway Limited (LNER).
The distance between Dunfermline and Elgin is 175.7 km. The road distance is 310 km.
ScotRail operates a train from Perth to Elgin once daily. Tickets cost £70–130 and the journey takes 3h 9m.