The average train between Perth and Bristol takes 8h 51m and the fastest train takes 8h 1m. The train service runs several times per day from Perth to Bristol. 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 every 3 hours between Perth and Bristol. The earliest departure is at 6:19 AM in the morning, and the last departure from Perth is at 11:28 PM which arrives into Bristol at 12:32 PM. All services require a transfer, and take on average 8h 51m. The schedules shown below are for the next available departures.

8h 15m • 1 change

8h 19m • 1 change

8h 22m • 1 change

8h 16m • 1 change

8h 18m • 1 change

8h 23m • 1 change

8h 34m • 1 change

8h 38m • 1 change

8h 12m • 1 change

8h 17m • 1 change

8h 25m • 1 change

8h 14m • 1 change

8h 12m • 1 change

8h 17m • 1 change

8h 25m • 1 change

8h 14m • 1 change

8h 12m • 1 change

8h 17m • 1 change

8h 25m • 1 change

8h 14m • 1 change
Want to know about travelling from Perth to Bristol? 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 Bristol. However, there are services departing from Perth station and arriving at Bristol station via Edinburgh Waverley. The journey, including transfers, takes approximately 8h 51m.
Perth to Bristol train services, operated by ScotRail, depart from Perth station.
Perth to Bristol train services, operated by ScotRail, arrive at Bristol Temple Meads station.
Book your Perth to Bristol train tickets online with ScotRail, Cross Country and 2 other operators.
The distance between Perth and Bristol is 552 km. The road distance is 784 km.
You can take a train from Perth to Bristol Temple Meads via Edinburgh Waverley in around 8h 56m.