• Our partners include:

  • National Express
  • RailEurope
  • ThamesLink
  • Virgin Trains
  • BlaBlaCar
  • Booking.com
  • Skyscanner
  • Airbnb
  • Expedia
  • Uber

There are 4 ways to get from Edinburgh to Perth by train, bus, taxi 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.

Recommended option

Train  •  1 h 13 min

  1. Take the train from Haymarket to Perth

$16 - $24

3 alternative options

Bus  •  1 h 29 min

  1. Take the bus from West End, Queensferry Street to Perth, Canal Street X56

Taxi  •  53 min

  1. Take a taxi from Edinburgh to Perth 43.1 miles

$130 - $160

Drive  •  53 min

  1. Drive from Edinburgh to Perth 43.1 miles

$9 - $14

Questions & Answers

The cheapest way to get from Edinburgh to Perth is to drive which costs £7 - £11 and takes 53 min.

More details

The quickest way to get from Edinburgh to Perth is to taxi which costs £100 - £130 and takes 53 min.

More details

Yes, there is a direct bus departing from West End, Queensferry Street and arriving at Perth, Canal Street. Services depart every two hours, and operate every day. The journey takes approximately 1 h 29 min.

More details

Yes, there is a direct train departing from Haymarket and arriving at Perth. Services depart hourly. The journey takes approximately 1 h 13 min.

More details

The distance between Edinburgh and Perth is 32 miles. The road distance is 43.1 miles.

Get driving directions

The best way to get from Edinburgh to Perth without a car is to train which takes 1 h 13 min and costs £12 - £19.

More details

The train from Haymarket to Perth takes 1 h 13 min including transfers and departs hourly.

More details

Edinburgh to Perth bus services, operated by Stagecoach East Scotland, depart from West End, Queensferry Street station.

More details

Edinburgh to Perth train services, operated by ScotRail, depart from Haymarket station.

More details

The best way to get from Edinburgh to Perth is to train which takes 1 h 13 min and costs £12 - £19. Alternatively, you can bus, which costs and takes 1 h 29 min.

Mode details

Map of how to get from Edinburgh to Perth.
Launch map view
  • Distance: 32.1 miles
  • Duration: 1 h 13 min

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

ScotRail operates a train from Edinburgh to Perth hourly. Tickets cost $16 - $21 and the journey takes 1 h 13 min. LNER also services this route once daily. Alternatively, Stagecoach East Scotland operates a bus from Edinburgh to Perth every 2 hours, and the journey takes 1 h 29 min.

Train operators
ScotRail
Phone
+44 344 811 0141
Email
customer.relations@scotrail.co.uk
Website
scotrail.co.uk
Train from Haymarket to Perth
Ave. Duration
1 h 13 min
Frequency
Hourly
Estimated price
$16 - $21
Website
scotrail.co.uk
Advanced Single
$11 - $15
Anytime Day Single
$16 - $21
Bus operators
Stagecoach East Scotland
Website
stagecoachbus.com
Bus from West End, Queensferry Street to Perth, Canal Street
Ave. Duration
1 h 29 min
Frequency
Every 2 hours
Website
stagecoachbus.com
Other operators
Taxi from Edinburgh to Perth
Ave. Duration
53 min
Estimated price
$130 - $160
City Cabs Ltd
Phone
+44 131 228 1211
Website
citycabs.co.uk
Edinburgh Cars
Phone
+44 131 555 1772
Central Taxis Ltd
Phone
+44 131 229 2468
Website
taxis-edinburgh.co.uk

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.

More Questions & Answers

Edinburgh to Perth bus services, operated by Stagecoach East Scotland, arrive at Perth, Canal Street station.

More details

Edinburgh to Perth train services, operated by ScotRail, arrive at Perth station.

More details

Yes, the driving distance between Edinburgh to Perth is 43 miles. It takes approximately 53 min to drive from Edinburgh to Perth.

Get driving directions

Book your Edinburgh to Perth train tickets online with Rome2rio.

Search and book

There are 265+ hotels available in Perth. Prices start at $65 USD per night.

More details