The average bus between Musselburgh and Perth takes 2h 4m and the fastest bus takes 1h 50m. The bus service runs several times per day from Musselburgh to Perth. 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 5 times a day between Musselburgh and Perth. The earliest departure is at 8:25 AM in the morning, and the last departure from Musselburgh is at 11:20 PM which arrives into Perth at 1:12 AM. All services require a transfer at Waterloo Place and take an average of 2h 4m. The schedules shown below are for the next available departures.

2h 19m • 1 change

2h 2m • 1 change

1h 50m • 1 change
Arrives next day

1h 52m • 1 change

2h 25m • 1 change

2h 19m • 1 change

2h 2m • 1 change

1h 50m • 1 change

2h 25m • 1 change

2h 19m • 1 change

2h 2m • 1 change

1h 50m • 1 change

2h 25m • 1 change

2h 19m • 1 change

2h 2m • 1 change

1h 50m • 1 change

2h 25m • 1 change

2h 19m • 1 change

2h 2m • 1 change

1h 50m • 1 change

2h 17m • 1 change

2h 17m • 1 change

1h 57m • 1 change

1h 50m • 1 change

2h 22m • 1 change

2h 26m • 1 change

1h 53m • 1 change

1h 50m • 1 change
Want to know about travelling from Musselburgh to Perth? 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 Musselburgh to Perth. However, there are services departing from Musselburgh station and arriving at Perth station via Waterloo Place. The journey, including transfers, takes approximately 2h 4m.
Musselburgh to Perth bus services, operated by East Coast Buses, depart from High Street station.
Musselburgh to Perth bus services, operated by East Coast Buses, arrive at Bus Station.
The distance between Musselburgh and Perth is 55.7 km. The road distance is 90 km.
You can take a bus from High Street to Bus Station via Waterloo Place and Edinburgh, Bus Station in around 2h 41m.