The average train between Bristol and Perth takes 9h 27m and the fastest train takes 7h 31m. There is a train service every few hours from Bristol to Perth. 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 Bristol and Perth. The earliest departure is at 6:15 AM in the morning, and the last departure from Bristol is at 10:18 PM which arrives into Perth at 12:17 PM. All services require a transfer at Birmingham New Street and take an average of 9h 27m. The schedules shown below are for the next available departures.



8h 16m • 3 changes


8h 15m • 3 changesArrives next day



8h 27m • 3 changesArrives next day



13h 24m • 3 changes


7h 49m • 3 changes


7h 31m • 3 changes


7h 45m • 3 changes


7h 44m • 3 changes


7h 49m • 3 changes


7h 31m • 3 changes


7h 45m • 3 changes


7h 44m • 3 changes


7h 49m • 3 changes


7h 31m • 3 changes


7h 45m • 3 changes


7h 44m • 3 changes


7h 49m • 3 changes


7h 31m • 3 changes


7h 45m • 3 changes


7h 44m • 3 changes


7h 49m • 3 changes


7h 31m • 3 changes


7h 45m • 3 changes


7h 44m • 3 changes


8h 21m • 3 changes


7h 49m • 3 changes


7h 31m • 3 changes


7h 45m • 3 changesWant to know about travelling from Bristol to Perth? 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 Bristol to Perth. However, there are services departing from Bristol Temple Meads station and arriving at Perth station via Birmingham New Street station, Warrington Bank Quay station and Glasgow Central station. The journey, including transfers, takes approximately 9h 27m.
Bristol to Perth train services, operated by Cross Country, depart from Bristol Temple Meads station.
Bristol to Perth train services, operated by ScotRail, arrive at Perth station.
Book your Bristol to Perth train tickets online with Omio.
The distance between Bristol and Perth is 552 km. The road distance is 659 km.
You can take a train from Bristol Temple Meads to Perth via Birmingham New Street, Warrington Bank Quay, Glasgow Central, and Glasgow Queen Street in around 8h 25m.