The average train between Stirling and Rosyth takes 1h 31m and the fastest train takes 1h 1m. There is a train service every few hours 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:46 PM. All services require a transfer, and take on average 1h 31m. The schedules shown below are for the next available departures.

1h 30m • 1 change

1h 36m • 1 change

1h 40m • 1 change

1h 13m • 1 change

1h 55m • 1 change

1h 38m • 1 change

1h 50m • 1 change

1h 37m • 1 change

1h 55m • 1 change

1h 38m • 1 change

1h 50m • 1 change

1h 37m • 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 31m.
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.
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 45m.