The average bus between Middlesbrough and Perth takes 8h 27m and the fastest bus takes 5h 27m. The bus service runs several times per day from Middlesbrough 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 3 times a day between Middlesbrough and Perth. The earliest departure is at 2:30 AM at night, and the last departure from Middlesbrough is at 6:00 PM which arrives into Perth at 8:00 AM. All services require a transfer at Edinburgh, Bus Station and take an average of 8h 27m. The schedules shown below are for the next available departures.


6h 6m • 2 changes


6h 27m • 2 changes
Arrives next day


14h 3m • 2 changes


6h 6m • 2 changes


6h 27m • 2 changes
Arrives next day


14h 3m • 2 changes


6h 6m • 2 changes


6h 27m • 2 changes
Arrives next day


14h 3m • 2 changes
Want to know about travelling from Middlesbrough 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 Middlesbrough to Perth. However, there are services departing from Middlesbrough station and arriving at Perth station via Edinburgh, Bus Station station. The journey, including transfers, takes approximately 8h 27m.
Middlesbrough to Perth bus services, operated by National Express, depart from Middlesbrough station.
Middlesbrough to Perth bus services, operated by National Express, arrive at Park and Ride station.
Book your Middlesbrough to Perth bus tickets online with National Express, Scottish Citylink Coaches Ltd and 3 other operators.
The distance between Middlesbrough and Perth is 245 km. The road distance is 304 km.
You can take a bus from Middlesbrough to Canal Street via Edinburgh, Bus Station and Park and Ride in around 5h 32m.