Rome2Rio

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

Find Transport to Bonnyrigg

See all options

There are 3 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

    best
    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 27m
    £11–14
  2. Train, line 31 bus

    1. Take the train from Perth to Haymarkettrain train Perth - Edinburgh / ...
    2. Take the bus from Haymarket Station to Bonnyrigg Tollbus bus 31
    2h 38m
    £21–37
  3. Drive  51.2 mi

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

Comparing Your Travel Options

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

You can take a bus from Perth station to Bonnyrigg Toll via George Street and Princes Street in around 2h 27m.

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