The average train between Perth and Galashiels takes 3h 1m and the fastest train takes 2h 7m. There is a train service every few hours from Perth to Galashiels. 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 Galashiels. 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 Galashiels at 7:07 AM. All services require a transfer, and take on average 3h 1m. The schedules shown below are for the next available departures.

3h 17m • 1 change

3h 22m • 1 change

3h 22m • 1 change

2h 25m • 1 change

2h 48m • 1 change

2h 50m • 1 change

2h 31m • 1 change

2h 42m • 1 change

2h 48m • 1 change

2h 50m • 1 change

2h 31m • 1 change

2h 42m • 1 change
Want to know about travelling from Perth to Galashiels? 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 Galashiels. However, there are services departing from Perth station and arriving at Galashiels station via Edinburgh Waverley. The journey, including transfers, takes approximately 3h 1m.
Perth to Galashiels train services, operated by ScotRail, depart from Perth station.
Perth to Galashiels train services, operated by ScotRail, arrive at Galashiels station.
Book your Perth to Galashiels train tickets online with ScotRail, Caledonian Sleeper and London North Eastern Railway Limited (LNER).
The distance between Perth and Galashiels is 94.9 km. The road distance is 142 km.
You can take a train from Perth to Galashiels via Edinburgh Waverley in around 2h 51m.