The average train between Perth and Bonnington takes 1h 59m and the fastest train takes 1h 26m. There is an hourly train service from Perth to Bonnington. 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 Perth and Bonnington. The earliest departure is at 6:00 AM in the morning, and the last departure from Perth is at 11:11 PM which arrives into Bonnington at 5:04 AM. All services require a transfer at Haymarket and take an average of 1h 59m. The schedules shown below are for the next available departures.

1h 57m • 1 change

1h 47m • 1 change

1h 51m • 1 change

1h 48m • 1 change

2h 2m • 1 change

1h 50m • 1 change

2h 2m • 1 change

2h 1m • 1 change

1h 48m • 1 change

2h 1m • 1 change

2h 8m • 1 change

1h 44m • 1 change
Want to know about travelling from Perth to Bonnington? 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 Perth to Bonnington. However, there are services departing from Perth station and arriving at Bonnington station via Haymarket. The journey, including transfers, takes approximately 1h 59m.
Perth to Bonnington train services, operated by ScotRail, depart from Perth station.
Perth to Bonnington train services, operated by ScotRail, arrive at Haymarket station.
The distance between Perth and Bonnington is 49.7 km. The road distance is 93 km.
ScotRail operates a train from Perth to Haymarket hourly. Tickets cost £24–45 and the journey takes 1h 26m. London North Eastern Railway Limited (LNER) also services this route once daily.