Rome2Rio

How to get fromPerth to Bonnyriggby bus, train, or car

Find Transport to Bonnyrigg

See all options
QR code to download the Rome2Rio app

Download the Rome2Rio travel app

Scan QR code with your phone to download the app

Download on the App StoreGet it on Google Play

There are 4 ways to get from Perth to Bonnyrigg by bus, train, or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.

  1. Bus, line 31 bus via Shandwick Place

    best
    1. Take the bus from Canal Street to Queensferry Streetbus bus M92
    2. Take the bus from Shandwick Place to Bonnyrigg Tollbus bus 31 / ...
    2h 5m
    £12–20
  2. Bus, line 31 bus

    cheapest
    1. Take the bus from Perth station to George Streetbus bus Ember
    2. Take the bus from Princes Street to Bonnyrigg Tollbus bus 31 / ...
    2h 17m
    £11–14
  3. Train, line 31 bus

    1. Take the train from Perth to Haymarkettrain train Perth - Edinburgh / ...
    2. Take the bus from Haymarket Station to Dobbies Roadbus bus 31
    2h 25m
    £21–37
  4. Drive  51.2 mi

    1. Drive from Perth to Bonnyriggcar car 51.2 mi
    1h 1m
    £13–19

Perth to Bonnyrigg by bus

Calendar56Weekly Buses
Duration2h 5mAverage Duration
Ticket£12Cheapest Price
See schedules

Comparing Your Travel Options

What companies run services between Perth, Scotland and Bonnyrigg, Scotland?

You can take a bus from Canal Street to Bonnyrigg Toll via Queensferry Street and Shandwick Place in around 2h 5m.

Train operators
Bus operators

Want to know more about travelling around United Kingdom

Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

Related travel guides