The average train between Stirling and Rosyth takes 1h 21m and the fastest train takes 1h 6m. There is an hourly train service from Stirling to Rosyth. 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 Stirling and Rosyth. The earliest departure is at 5:21 AM in the morning, and the last departure from Stirling is at 10:37 PM which arrives into Rosyth at 11:45 PM. All services require a transfer, and take on average 1h 21m. The schedules shown below are for the next available departures.

1h 15m • 1 change

1h 47m • 1 change

1h 17m • 1 change

1h 14m • 1 change

1h 25m • 1 change

1h 11m • 1 change

1h 18m • 1 change

1h 11m • 1 change

1h 25m • 1 change

1h 11m • 1 change

1h 18m • 1 change

1h 11m • 1 change
Want to know about travelling from Stirling to Rosyth? 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 Stirling to Rosyth. However, there are services departing from Stirling station and arriving at Rosyth station via Haymarket. The journey, including transfers, takes approximately 1h 21m.
Stirling to Rosyth train services, operated by ScotRail, depart from Stirling station.
Stirling to Rosyth train services, operated by ScotRail, arrive at Rosyth station.
Book your Stirling to Rosyth train tickets online with ScotRail and London North Eastern Railway Limited (LNER).
The distance between Stirling and Rosyth is 33.2 km. The road distance is 77 km.
You can take a train from Stirling to Rosyth via Haymarket in around 1h 28m.