The average bus between Perth and Halkirk takes 6h 55m and the fastest bus takes 5h 54m. The bus service runs several times per day from Perth to Halkirk. 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 3 times a day between Perth and Halkirk. The earliest departure is at 8:43 AM in the morning, and the last departure from Perth is at 7:43 PM which arrives into Halkirk at 3:01 AM. All services require a transfer at Bus Station Stance 3 and take an average of 6h 55m. The schedules shown below are for the next available departures.

6h 17m • 1 change
6h 20m • 1 changeArrives next day

7h 18m • 1 change
6h 22m • 1 change
7h 44m • 1 changeArrives next day

7h 26m • 1 change
6h 47m • 1 change
5h 54m • 1 changeArrives next day

7h 58m • 1 change
6h 17m • 1 change
6h 20m • 1 changeArrives next day

7h 18m • 1 change
6h 17m • 1 change
6h 20m • 1 changeArrives next day

7h 18m • 1 changeWant to know about travelling from Perth to Halkirk? 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 Halkirk. However, there are services departing from Perth station and arriving at Halkirk station via Bus Station Stance 3 station. The journey, including transfers, takes approximately 6h 55m.
Perth to Halkirk bus services, operated by Scottish Citylink Coaches Ltd, depart from Bus Station.
Perth to Halkirk bus services, operated by Scottish Citylink Coaches Ltd, arrive at Halkirk station.
The distance between Perth and Halkirk is 235.4 km. The road distance is 385 km.
You can take a bus from Bus Station to Halkirk via Bus Station Stance 3 and Inverness Union Street in around 6h 49m.