The average bus between Middlesbrough and Perth takes 9h 19m and the fastest bus takes 6h 2m. 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 9h 19m. The schedules shown below are for the next available departures.


7h 33m • 2 changes


6h 27m • 2 changes
Arrives next day


14h 3m • 2 changes


7h 33m • 2 changes


6h 27m • 2 changes
Arrives next day


14h 3m • 2 changes


7h 33m • 2 changes


6h 27m • 2 changes
Arrives next day


14h 3m • 2 changes


7h 33m • 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 9h 19m.
Middlesbrough to Perth bus services, operated by FlixBus, depart from Middlesbrough station.
Middlesbrough to Perth bus services, operated by FlixBus, arrive at Canal Street station.
Book your Middlesbrough to Perth bus tickets online with FlixBus, Stagecoach East Scotland and National Express.
The distance between Middlesbrough and Perth is 245 km. The road distance is 305 km.
You can take a bus from Middlesbrough to Canal Street via Edinburgh, Bus Station, Park & Ride Arrival Bay, and Park & Ride in around 5h 48m.