The average train between Rosyth and Lanark takes 2h 40m and the fastest train takes 1h 32m. The train service runs several times per day from Rosyth to Lanark. 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 Rosyth and Lanark. The earliest departure is at 7:09 AM in the morning, and the last departure from Rosyth is at 10:12 PM which arrives into Lanark at 6:12 AM. All services require a transfer at Haymarket and take an average of 2h 40m. The schedules shown below are for the next available departures.


1h 37m • 2 changes


2h 3m • 2 changes


1h 35m • 2 changes


1h 35m • 2 changes


1h 37m • 2 changes


2h 3m • 2 changes


1h 35m • 2 changes


1h 35m • 2 changes


1h 37m • 2 changes


2h 3m • 2 changes


1h 35m • 2 changes


1h 35m • 2 changes


1h 32m • 2 changes


2h 2m • 2 changes


1h 37m • 2 changes


1h 33m • 2 changes


1h 37m • 2 changes


2h 3m • 2 changes


1h 35m • 2 changes


1h 35m • 2 changes


1h 37m • 2 changes


2h 3m • 2 changes


1h 35m • 2 changes


1h 35m • 2 changes
Want to know about travelling from Rosyth to Lanark? 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 Rosyth to Lanark. However, there are services departing from Rosyth station and arriving at Lanark station via Haymarket. The journey, including transfers, takes approximately 2h 40m.
Rosyth to Lanark train services, operated by ScotRail, depart from Rosyth station.
Rosyth to Lanark train services, operated by ScotRail, arrive at Carluke station.
Book your Rosyth to Lanark train tickets online with ScotRail.
The distance between Rosyth and Lanark is 46.3 km. The road distance is 91 km.
You can take a train from Rosyth to Lanark via Haymarket and Carluke in around 2h 28m.