The distance between St Andrews and Perth is around 505km (313 miles) and the quickest way to get there is to fly and then take the train which takes around 3h 30m.
We've found 6 different ways to get from St Andrews to Perth by bus, car, plane and train. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.
👋 Also check out Perth → St Andrews if you're planning a return trip.
Fly from Birmingham (BHX) to Edinburgh (EDI) then take the train to Perth.
Multiple operators
3 similiar routes
We’ve grouped similar routes together, click the arrows to see the other options.
Take the bus to Glasgow and then to Perth.
Multiple bus operators
There are several options for getting from St Andrews to Perth by bus, car, plane and train. The cheapest option is to take the bus which costs around £40 ($47) and will take around 9h 30m. If you need to get there more quickly, you can fly and then take the train and arrive in approximately 3h 30m, though it is a bit more costly at approximately £95 ($110).
The distance between St Andrews and Perth is around 505km (313 miles). In a direct line (as the crow flies), the distance is 40km (25 miles)
It takes around 9h 30m to get from St Andrews and Perth by bus. If you are travelling by car it will take around 5h 30m to drive there.
The quickest way to get from St Andrews to Perth is to fly and then take the train which takes around 3h 30m and will set you back approx £95 ($110).
The cheapest way to travel between St Andrews and Perth, if you exclude driving, is to take the bus which will typically cost around £40 ($47) for a standard one-way ticket.
There is no train service that runs between St Andrews and Perth. We recommend that you fly from Birmingham (BHX) to Edinburgh (EDI) then take the train to Perth. instead which will take 3h 30m.
Yes there is a bus that runs regularly from St Andrews and Perth. It typically takes around 9h 30m and departs twice daily.
There are no direct bus services that runs from St Andrews to Perth. However, you can instead can take several connecting buses with changeovers in Bordesley Venetia Rd, Digbeth Park St and Glasgow. These services run twice daily and will take a minimum of 9h 30m.
FlixBus, Megabus UK and Scottish Citylink run regular bus services between St Andrews and Perth. Buses run twice daily and take around 9h 30m on average but will vary depending on you book with.
It doesn't look like you can fly directly from St Andrews to Perth. We recommend that you fly from Birmingham (BHX) to Edinburgh (EDI) then take the train to Perth. instead which will take 3h 30m.
The closest major airport to Perth is Dundee Airport (DND) (DND) which is approximately 27km (17 miles) from Perth. Edinburgh Airport (EDI) (EDI) and Glasgow Airport (GLA) (GLA) are also nearby and might be a better alternative airport depending on where you are flying from.
Yes it is possible to drive from St Andrews and Perth. The distance is around 543km (338 miles) by road and it will take around 5h 30m in normal traffic conditons.
If you don't have a car, the easiest way to get from St Andrews to Perth is to take the bus which takes, on average, 9h 30m and will usually cost around £40 ($47).
Transport option | Duration | Cost | Frequency | Distance |
---|---|---|---|---|
Plane and Train + 3 similar | 3h 30m | £95($110) | hourly | 505km (313 miles) |
Fly to Glasgow (GLA), Train | 3h 40m | £81($95) | hourly | 550km (342 miles) |
Fly to Aberdeen (ABZ), Train | 3h 50m | £200($240) | hourly | 702km (436 miles) |
Train and Plane | 5hrs | £165($195) | hourly | 753km (468 miles) |
Bus | 9h 30m | £40($47) | twice daily | 600km (373 miles) |
Drive | 5h 30m | £62($73) | on demand | 543km (338 miles) |
First ScotRail Service
LNER
Scottish Citylink
Loganair
Aer Lingus
The following major airports near Perth offer regular flights to various popular destinations within United Kingdom and internationally.