The average train between Arbroath and Rosyth takes 1h 57m and the fastest train takes 1h 20m. There is a train service every few hours from Arbroath 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 Arbroath and Rosyth. The earliest departure is at 6:49 AM in the morning, and the last departure from Arbroath is at 11:24 PM which arrives into Rosyth at 6:43 AM. All services require a transfer, and take on average 1h 57m. The schedules shown below are for the next available departures.

1h 38m • 1 change
Arrives next day

1h 48m • 1 change
Arrives next day

7h 21m • 1 change

1h 50m • 1 change

1h 41m • 1 change

1h 40m • 1 change

1h 42m • 1 change

1h 33m • 1 change

1h 38m • 1 change

1h 47m • 1 change

1h 30m • 1 change

1h 50m • 1 change

1h 38m • 1 change

1h 40m • 1 change

1h 42m • 1 change
Want to know about travelling from Arbroath 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 Arbroath to Rosyth. However, there are services departing from Arbroath station and arriving at Rosyth station via Dundee. The journey, including transfers, takes approximately 1h 57m.
Arbroath to Rosyth train services, operated by ScotRail, depart from Arbroath station.
Arbroath to Rosyth train services, operated by ScotRail, arrive at Inverkeithing station.
Book your Arbroath to Rosyth train tickets online with ScotRail, Cross Country and 2 other operators.
The distance between Arbroath and Rosyth is 77.7 km. The road distance is 99 km.
You can take a train from Arbroath to Inverkeithing via Dundee in around 1h 58m.