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 Inverkeithing and take an average of 7h 2m. The schedules shown below are for the next available departures.


4h 55m • 2 changesArrives next day


11h 9m • 2 changesArrives next day


9h 58m • 2 changes

4h 40m • 2 changes

4h 22m • 2 changes

4h 57m • 2 changesArrives next day


14h 34m • 2 changes

4h 31m • 2 changes

5h 2m • 2 changes

4h 35m • 2 changesArrives next day


12h 16m • 2 changes

4h 40m • 2 changes

4h 22m • 2 changes

4h 55m • 2 changesArrives next day


11h 9m • 2 changes

4h 40m • 2 changes

4h 22m • 2 changes

4h 55m • 2 changesArrives next day


11h 9m • 2 changes

4h 40m • 2 changes

4h 22m • 2 changes

4h 55m • 2 changesArrives next day


11h 9m • 2 changesWant 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 Aberdeen. The journey, including transfers, takes approximately 7h 2m.
Dunfermline to Elgin train services, operated by ScotRail, depart from Inverkeithing 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 304 km.
You can take a train from Dunfermline Town to Elgin via Inverkeithing and Aberdeen in around 5h 47m.