The average train between Lanark and Dunfermline takes 2h 10m and the fastest train takes 1h 28m. The train service runs several times per day from Lanark 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 4 hours between Lanark and Dunfermline. The earliest departure is at 7:22 AM in the morning, and the last departure from Lanark is at 7:52 PM which arrives into Dunfermline at 9:49 PM. All services require a transfer at Carluke and take an average of 2h 10m. The schedules shown below are for the next available departures.


1h 55m • 2 changes

1h 59m • 2 changes

1h 59m • 2 changes

1h 58m • 2 changes

1h 55m • 2 changes

1h 59m • 2 changes

1h 59m • 2 changes

1h 58m • 2 changes

2h 1m • 2 changes

1h 28m • 2 changes

2h 1m • 2 changes

2h • 2 changes

1h 55m • 2 changes

1h 59m • 2 changes

1h 59m • 2 changes

1h 58m • 2 changes

1h 55m • 2 changes

1h 59m • 2 changes

1h 59m • 2 changes

1h 58m • 2 changes

1h 55m • 2 changes

1h 59m • 2 changes

1h 59m • 2 changes

1h 58m • 2 changesWant to know about travelling from Lanark 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 Lanark to Dunfermline. However, there are services departing from Lanark station and arriving at Dunfermline station via Haymarket. The journey, including transfers, takes approximately 2h 10m.
Lanark to Dunfermline train services, operated by ScotRail, depart from Carluke station.
Lanark to Dunfermline train services, operated by ScotRail, arrive at Dunfermline Town station.
Book your Lanark to Dunfermline train tickets online with ScotRail.
The distance between Lanark and Dunfermline is 48.5 km. The road distance is 95 km.
You can take a train from Lanark to Dunfermline Town via Carluke and Haymarket in around 2h 41m.