The average bus between Perth and Crail takes 2h 24m and the fastest bus takes 1h 54m. There is a bus service every few hours from Perth to Crail. 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 hourly between Perth and Crail. The earliest departure is at 2:17 AM at night, and the last departure from Perth is at 10:17 PM which arrives into Crail at 12:30 AM. All services require a transfer at Seagate Bus Station and take an average of 2h 24m. The schedules shown below are for the next available departures.


2h 45m • 2 changes


2h 2m • 2 changes


1h 57m • 2 changes


1h 58m • 2 changes


1h 54m • 2 changes


2h 10m • 2 changes


2h 40m • 2 changes


2h 10m • 2 changes


4h 18m • 2 changes


1h 54m • 2 changes


2h 10m • 2 changes


2h 40m • 2 changes


4h 18m • 2 changes


2h 36m • 2 changes


2h 10m • 2 changes


2h 40m • 2 changes


2h 46m • 2 changes


2h 20m • 2 changes


2h 50m • 2 changes


2h 20m • 2 changes
Want to know about travelling from Perth to Crail? 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 Crail. However, there are services departing from Perth station and arriving at Crail station via Seagate Bus Station station. The journey, including transfers, takes approximately 2h 24m.
Perth to Crail bus services, operated by Park's of Hamilton, depart from South Street station.
Perth to Crail bus services, operated by Park's of Hamilton, arrive at Bowling Green Place station.
The distance between Perth and Crail is 51.8 km. The road distance is 72 km.
You can take a bus from South Street to Bowling Green Place via Seagate Bus Station and Bus Station in around 1h 53m.