There are 12 ways to get from Portsmouth to Perth by train, bus, car, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Portsmouth & Southsea to London Waterlootrain
- Take the train from King's Cross to Edinburgh Waverleytrain
- Take the train from Edinburgh Waverley to Perthtrain
8h 29m£175–291Train to Bournemouth Airport, fly to Edinburgh Airport, bus
cheapest- Take the train from Southampton Central to Bournemouthtrain
- Fly from Bournemouth Airport (BOH) to Edinburgh Airport (EDI)plane BOH - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
7h 11m£52–210Train, bus
- Take the train from Portsmouth & Southsea to London Waterlootrain
- Take the bus from Finchley Road / O2 Centre to Edinburgh, Bus Stationbus
- Take the bus from Edinburgh, Bus Station to Bus Stationbus
12h 8m£81–152Drive 472.8 mi
- Drive from Portsmouth to Perthcar 472.8 mi
8h 11m£118–170Bus to London Heathrow Airport, fly to Edinburgh Airport, bus
- Take the bus from The Hard Interchange to Heathrow Terminal 5bus
- Fly from London Heathrow Airport (LHR) to Edinburgh Airport (EDI)plane LHR - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
5h 33m£80–282Train via Birmingham
- Take the train from Portsmouth & Southsea to Winchestertrain
- Take the train from Winchester to Birmingham New Streettrain
- Take the train from Birmingham New Street to Edinburgh Waverleytrain
- Take the train from Edinburgh Waverley to Perthtrain
11h 38m£210–404Bus
- Take the bus from The Hard Interchange to Heathrow Terminal 5bus 030
- Take the bus from Heathrow Terminal 5 to Buchanan Bus Stationbus 802
- Take the bus from Buchanan Bus Station to South Streetbus M8 / ...
13h 19m£100–252Bus to London Heathrow Airport, fly to Glasgow Airport, train
- Take the bus from The Hard Interchange to Heathrow Terminal 5bus
- Fly from London Heathrow Airport (LHR) to Glasgow Airport (GLA)plane LHR - GLA
- Take the train from Glasgow Queen Street to Perthtrain
5h 45m£101–351Train to Southampton Airport, fly to Edinburgh Airport, bus
- Take the train from Portsmouth & Southsea to Eastleightrain
- Fly from Southampton Airport (SOU) to Edinburgh Airport (EDI)plane SOU - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
5h 29m£87–221Fly Southampton Airport to Glasgow Airport, train
- Fly from Southampton Airport (SOU) to Glasgow Airport (GLA)plane SOU - GLA
- Take the train from Glasgow Queen Street to Perthtrain
5h 16m£73–230Train to London Gatwick Airport, fly to Edinburgh Airport, bus
- Take the train from Portsmouth & Southsea to Horshamtrain
- Fly from London Gatwick Airport (LGW) to Edinburgh Airport (EDI)plane LGW - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
5h 52m£71–185Train to London City Airport, fly to Edinburgh Airport, bus
- Take the train from Portsmouth & Southsea to London Waterlootrain
- Fly from London City Airport (LCY) to Edinburgh Airport (EDI)plane LCY - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
5h 53m£117–374
Portsmouth to Perth by train, subway, and foot
Questions & Answers
The cheapest way to get from Portsmouth to Perth is to train and bus which costs £80 - £160 and takes 12h 8m.
The fastest way to get from Portsmouth to Perth is to fly and train which takes 5h 16m and costs £70 - £230.
No, there is no direct bus from Portsmouth to Perth. However, there are services departing from The Hard Interchange and arriving at South Street via Heathrow Terminal 5 and Buchanan Bus Station. The journey, including transfers, takes approximately 13h 19m.
No, there is no direct train from Portsmouth to Perth. However, there are services departing from Portsmouth & Southsea and arriving at Perth via Waterloo station, King's Cross and Edinburgh Waverley. The journey, including transfers, takes approximately 8h 29m.
The distance between Portsmouth and Perth is 525 miles. The road distance is 475.5 miles.
The best way to get from Portsmouth to Perth without a car is to train which takes 8h 29m and costs £170 - £300.
It takes approximately 8h 29m to get from Portsmouth to Perth, including transfers.
Portsmouth to Perth bus services, operated by National Express, depart from The Hard Interchange station.
Portsmouth to Perth train services, operated by South Western Railway, depart from Portsmouth & Southsea station.
The best way to get from Portsmouth to Perth is to train which takes 8h 29m and costs £170 - £300. Alternatively, you can bus, which costs £100 - £260 and takes 13h 19m.
What companies run services between Portsmouth, England and Perth, Scotland?
You can take a train from Portsmouth & Southsea to Perth via London Waterloo Station, Waterloo station, Euston station, King's Cross, and Edinburgh Waverley in around 8h 29m. Alternatively, you can take a bus from The Hard Interchange to South Street via Heathrow Terminal 5 and Buchanan Bus Station in around 13h 19m.
- Website
- britishairways.com
Flights from London Heathrow Airport to Edinburgh Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- £55–230
Flights from London Heathrow Airport to Glasgow Airport
- Ave. Duration
- 1h 26m
- When
- Every day
- Estimated price
- £55–250
Flights from London Heathrow Airport to Glasgow Airport via Derry
- Ave. Duration
- 2h 50m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- £230–440
Flights from London Heathrow Airport to Glasgow Airport via Belfast City
- Ave. Duration
- 3h 5m
- When
- Every day
- Estimated price
- £55–250
Flights from Southampton Airport to Edinburgh Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- £110–220
Flights from Southampton Airport to Edinburgh Airport via Belfast City
- Ave. Duration
- 3h 45m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- £70–180
Flights from London City Airport to Edinburgh Airport
- Ave. Duration
- 1h 18m
- When
- Every day
- Estimated price
- £75–220
- Phone
- 0345 6000 650
- Website
- South Western Railway
Train from Portsmouth & Southsea to London Waterloo
- Ave. Duration
- 1h 31m
- Frequency
- Every 30 minutes
- Estimated price
- £29–65
- Website
- South Western Railway
Train from Portsmouth & Southsea to London Waterloo
- Ave. Duration
- 1h 31m
- Frequency
- Every 30 minutes
- Estimated price
- £29–65
- Website
- South Western Railway
Train from Portsmouth & Southsea to Winchester
- Ave. Duration
- 51 min
- Frequency
- Hourly
- Estimated price
- £11–25
- Website
- South Western Railway
Train from Portsmouth & Southsea to Eastleigh
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- £8–19
- Website
- South Western Railway
Train from Portsmouth & Southsea to London Waterloo
- Ave. Duration
- 1h 31m
- Frequency
- Every 30 minutes
- Estimated price
- £29–65
- Website
- South Western Railway
Train from Southampton Central to Bournemouth
- Ave. Duration
- 37 min
- Frequency
- Every 30 minutes
- Estimated price
- £11–25
- Website
- South Western Railway
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Finchley Road / O2 Centre to Edinburgh, Bus Station
- Ave. Duration
- 7h 50m
- Frequency
- Every 30 minutes
- Estimated price
- £40–65
- Website
- Flixbus
Bus from Edinburgh, Bus Station to Bus Station
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- £5–9
- Website
- Flixbus
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
Travelling to the UK: What do I need to know?
Read the travel guide
How to get from London to Edinburgh
Read the travel guide
The London Underground: Essential tips to navigate the Tube
Read the travel guide
More Questions & Answers
Portsmouth to Perth bus services, operated by National Express, arrive at Heathrow Terminal 5 station.
Portsmouth to Perth train services, operated by South Western Railway, arrive at London Waterloo station.
Yes, the driving distance between Portsmouth to Perth is 476 miles. It takes approximately 8h 11m to drive from Portsmouth to Perth.
Book your Portsmouth to Perth train tickets online with Omio.
Book your Portsmouth to Perth bus tickets online with Omio.
There are 558+ hotels available in Perth.









