How to travel from Portsmouth to Perth, United Kingdom

The distance between Portsmouth and Perth is around 692km (430 miles) and the quickest way to get there is to fly and then take the train which takes around 3h 35m.

11 routes found

We've found 11 different ways to get from Portsmouth to Perth by train, bus, car and plane. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.

👋 Also check out PerthPortsmouth if you're planning a return trip.

🚀 Fastest
1
plane
+
train
+

Fly to Glasgow (GLA), Train

Fly from Southampton (SOU) to Glasgow (GLA) then take the train to Perth.

  • Duration3h 35m
  • Flight time1h 20m
  • Typical cost
    £255($300)
Operated by

Multiple operators

5 similiar routes

We’ve grouped similar routes together, click the arrows to see the other options.

2
3 x train
+

Train

Take the train to London Waterloo then Edinburgh and then to Perth.

  • Duration7h 35m
  • Departshourly
  • Typical cost
    £120($140)
Operated by

Multiple train operators

2 similiar routes

We’ve grouped similar routes together, click the arrows to see the other options.

💰 Cheapest
3
3 x bus
+

Bus

Take the bus to London Victoria Coach Station then Edinburgh Bus Station and then to Perth Canal Street.

  • Duration12h 55m
  • Departsonce daily
  • Typical cost
    £41($48)
Operated by

Multiple bus operators

4
car
+

Drive

Drive to Perth.

  • Duration8hrs
  • Distance786km (488 miles)
Get turn-by-turn directions

Frequently asked questionsabout travel between Portsmouth and Perth

There are several options for getting from Portsmouth to Perth by train, bus, car and plane. The cheapest option is to take the bus which costs around £41 ($48) and will take around 12h 55m. If you need to get there more quickly, you can fly and then take the train and arrive in approximately 3h 35m, though it is a bit more costly at approximately £255 ($300).

The distance between Portsmouth and Perth is around 692km (430 miles). In a direct line (as the crow flies), the distance is 641km (398 miles)

It takes around 7h 35m to get from Portsmouth and Perth by train. If you are travelling by car it will take around 8hrs to drive there.

The quickest way to get from Portsmouth to Perth is to fly and then take the train which takes around 3h 35m and will set you back approx £255 ($300).

The cheapest way to travel between Portsmouth and Perth, if you exclude driving, is to take the bus which will typically cost around £41 ($48) for a standard one-way ticket.

Train travel

Yes there is a train service that runs between Portsmouth and Perth. It typically takes around 7h 35m and departs hourly.

There are no direct train services that runs from Portsmouth to Perth. However, you can instead can take several connecting trains with a changeover in London Waterloo, Euston station, King's Cross St. Pancras station and Edinburgh. These services run hourly and will take a minimum of 7h 35m.

South Western Railway, LNER, First ScotRail Service, Great Western Railway, CrossCountry and Caledonian Sleeper run train services between Portsmouth and Perth. Trains depart hourly and will take around 7h 35m, however, this may vary depending on the particular service and whether it runs express or stops all stations.

Bus travel

Yes there is a bus that runs regularly from Portsmouth and Perth. It typically takes around 12h 55m and departs once daily.

There are no direct bus services that runs from Portsmouth to Perth. However, you can instead can take several connecting buses with changeovers in London Victoria Coach Station and Edinburgh Bus Station. These services run once daily and will take a minimum of 12h 55m.

National Express, Autokar Polska, Megabus UK, FlixBus and Stagecoach East Scotland run regular bus services between Portsmouth and Perth. Buses run once daily and take around 12h 55m on average but will vary depending on you book with.

Flights and Airlines

It doesn't look like you can fly directly from Portsmouth to Perth. We recommend that you fly from Southampton (SOU) to Edinburgh (EDI) then take the train to Perth. instead which will take 3h 40m.

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.

Drive yourself

Yes it is possible to drive from Portsmouth and Perth. The distance is around 786km (488 miles) by road and it will take around 8hrs in normal traffic conditons.

If you don't have a car, the easiest way to get from Portsmouth to Perth is to take the train which takes, on average, 7h 35m and will usually cost around £120 ($140).

How do I get from Portsmouth to Perth

Compare travel optionsbetween Portsmouth and Perth

Transport options from Portsmouth to Perth
Transport optionDurationCostFrequencyDistance
Fly to Glasgow (GLA), Train + 5 similar
3h 35m
£255($300)
hourly734km (456 miles)
Plane and Train3h 40m
£235($275)
hourly692km (430 miles)
Train to Horsham, plane4h 25m
£155($180)
hourly752km (467 miles)
Train and Plane4h 30m
£130($155)
hourly804km (499 miles)
Train to London Waterloo, plane4h 35m
£240($285)
hourly758km (471 miles)
Train to Woking, plane4h 40m
£220($260)
hourly724km (450 miles)
Train + 2 similar
7h 35m
£120($140)
hourly840km (522 miles)
Train via London Waterloo10hrs
£88($105)
once daily873km (542 miles)
Train via Bristol Temple Meads10h 30m
£250($295)
every 2 hours948km (589 miles)
Bus
12h 55m
£41($48)
once daily920km (571 miles)
Drive
8hrs
£135($160)
on demand786km (488 miles)

Top Carriersoperating between Portsmouth and Perth

Train operators

Airlines

Bus companies

Airports near Perth

The following major airports near Perth offer regular flights to various popular destinations within United Kingdom and internationally.

DND
Dundee Airport (DND)
Domestic Airport
Distance
27km (17 miles) from Perth
EDI
Edinburgh Airport (EDI)
International Airport
Distance
50km (31 miles) from Perth
GLA
Glasgow Airport (GLA)
International Airport
Distance
86km (53 miles) from Perth