The average bus between Linlithgow and Bonnyrigg takes 2h 11m and the fastest bus takes 1h 37m. There is an hourly bus service from Linlithgow to Bonnyrigg. 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 Linlithgow and Bonnyrigg. The earliest departure is at 6:12 AM in the morning, and the last departure from Linlithgow is at 9:49 PM which arrives into Bonnyrigg at 12:04 AM. All services require a transfer, and take on average 2h 11m. The schedules shown below are for the next available departures.

2h 17m • 1 change

2h 11m • 1 change

2h 18m • 1 change

2h 15m • 1 change

1h 37m • 1 change

1h 41m • 1 change

1h 42m • 1 change

1h 46m • 1 change

1h 40m • 1 change

1h 38m • 1 change

1h 51m • 1 change

2h 1m • 1 change
Want to know about travelling from Linlithgow to Bonnyrigg? 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 Linlithgow to Bonnyrigg. However, there are services departing from Linlithgow station and arriving at Bonnyrigg station via Shandwick Place. The journey, including transfers, takes approximately 2h 11m.
Linlithgow to Bonnyrigg bus services, operated by Midland Bluebird, depart from Cross station.
Linlithgow to Bonnyrigg bus services, operated by Midland Bluebird, arrive at Bonnyrigg Toll station.
The distance between Linlithgow and Bonnyrigg is 33 km. The road distance is 48 km.
You can take a bus from Cross to Bonnyrigg Toll via Shandwick Place in around 1h 53m.