The average bus between Perth and Innerleithen takes 4h 7m and the fastest bus takes 3h 12m. There is a bus service every few hours from Perth to Innerleithen. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run every 2 hours between Perth and Innerleithen. The earliest departure is at 6:20 AM in the morning, and the last departure from Perth is at 9:05 PM which arrives into Innerleithen at 8:47 AM. All services require a transfer, and take on average 4h 7m. The schedules shown below are for the next available departures.

3h 27m • 1 change

3h 55m • 1 change

3h 15m • 1 change

3h 12m • 1 change

3h 27m • 1 change

3h 55m • 1 change

3h 15m • 1 change

3h 12m • 1 change

3h 27m • 1 change

3h 55m • 1 change

3h 15m • 1 change

3h 12m • 1 change

3h 27m • 1 change

3h 55m • 1 change

3h 15m • 1 change

3h 12m • 1 change
Want to know about travelling from Perth to Innerleithen? 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 bus from Perth to Innerleithen. However, there are services departing from Perth station and arriving at Innerleithen station via Edinburgh, Bus Station station. The journey, including transfers, takes approximately 4h 7m.
Perth to Innerleithen bus services, operated by Scottish Citylink Coaches Ltd, depart from Bus Station.
Perth to Innerleithen bus services, operated by Scottish Citylink Coaches Ltd, arrive at Tweedside Hotel station.
The distance between Perth and Innerleithen is 89.3 km. The road distance is 128 km.
You can take a bus from Bus Station to Tweedside Hotel via Edinburgh, Bus Station in around 3h 32m.