There are 11 ways to get from Perth to Staffa by bus, plane, train, car, car train, or car ferry
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus, fly to Milano Malpensa Airport, train, line 4 bus
best- Take the bus from Leonard Street to Airport
- Fly from Edinburgh Airport (EDI) to Milano Malpensa Airport (MXP)EDI - MXP
- Take the train from Gallarate to Domodossola
- Take the bus from Domodossola - Cimitero to Macugnaga - Staffa - Piazza Municipio
10h 6mBus, drive
cheapest- Take the bus from Park and Ride to London Victoria
- Take the bus from London Victoria to Paris700
- Take the bus from Paris, Quai de Bercy (Bercy Seine) to Aosta479
- Drive from Chatillon - Autostazione to Staffa
36h 2m€120–341Train
- Take the train from Perth to Edinburgh Waverley
- Take the train from Edinburgh Waverley to King's Cross
- Take the train from London St. Pancras Int. to Rotterdam Centraal
- Take the train from Rotterdam Centraal to Zürich HB
- Take the train from Zürich HB to DomodossolaIc
29h€361–1,080Bus, train
- Take the bus from Leonard Street to George StreetE9
- Take the train from Edinburgh Waverley to Sheffield
- Take the bus from Sheffield to Brussel Eurolines Busstation
- Take the bus from Brussels-North Station to Zurich
- Take the train from Zürich HB to DomodossolaIc
34h 11mDrive, Eurotunnel
- Drive from Perth to Folkestone
- Take the car train from Folkestone to Calais-Fréthun
- Drive from Calais-Fréthun to Staffa
19h 47mBus, fly to Milan Linate Airport, train
- Take the bus from Leonard Street to Airport
- Fly from Edinburgh Airport (EDI) to Milan Linate Airport (LIN)EDI - LIN
- Take the train from Milano Centrale to Domodossola
10h 40mBus, fly to Geneva International Airport, train
- Take the bus from Leonard Street to Airport
- Fly from Edinburgh Airport (EDI) to Geneva International Airport (GVA)EDI - GVA
- Take the train from Genève-Aéroport to Brig
11h 45mBus, fly to Zurich Airport, train
- Take the bus from Leonard Street to Airport
- Fly from Edinburgh Airport (EDI) to Zurich Airport (ZRH)EDI - ZRH
- Take the train from Zürich Flughafen to Brig
11h 39mBus, fly to Il Caravaggio International Airport, train
- Take the bus from Leonard Street to Airport
- Fly from Edinburgh Airport (EDI) to Il Caravaggio International Airport (BGY)EDI - BGY
- Take the train from Milano Centrale to Domodossola
11h 6mBus, fly to Basel, train
- Take the bus from Leonard Street to Airport
- Fly from Edinburgh Airport (EDI) to Basel (BSL)EDI - BSL
- Take the train from Basel SBB to Brig
11h 58mDrive, car ferry
- Drive from Perth to Port of Dover
- Take the car ferry from Port of Dover to Calais
- Drive from Calais to Staffa
20h 48m€333–494
Perth to Staffa by train, foot, and bus
Questions & Answers
The cheapest way to get from Perth to Staffa is to bus and drive which costs €120 - €350 and takes 36h 2m.
The fastest way to get from Perth to Staffa is to drive and car ferry which takes 20h 48m and costs €330 - €500.
The distance between Perth and Staffa is 1628 km.
The best way to get from Perth to Staffa without a car is to train which takes 29h and costs €360 - €1100.
It takes approximately 10h 6m to get from Perth to Staffa, including transfers.
Staffa is 1h ahead of Perth. It is currently 11:55 AM in Perth and 12:55 PM in Staffa.
There are 1460+ hotels available in Staffa.
What companies run services between Perth, Scotland and Staffa, Italy?
You can take a train from Perth to Macugnaga - Staffa - Piazza Municipio via Edinburgh Waverley, London Kings Cross, London St. Pancras Int., Rotterdam Centraal, Zürich HB, Zürich HB, Domodossola, and Domodossola - Cimitero in around 29h.
- Website
- easyjet.com
Flights from Edinburgh Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Sunday
- Estimated price
- €60–240
Flights from Edinburgh Airport to Milan Linate Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €50–200
Flights from Edinburgh Airport to Milan Linate Airport via Birmingham
- Ave. Duration
- 4h 20m
- When
- Wednesday
- Estimated price
- €50–200
Flights from Edinburgh Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 20m
- When
- Monday and Friday
- Estimated price
- €50–200
Flights from Edinburgh Airport to Geneva International Airport
- Ave. Duration
- 2h 15m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €40–140
Flights from Edinburgh Airport to Geneva International Airport via Bristol
- Ave. Duration
- 4h 10m
- When
- Friday
- Estimated price
- €40–140
Flights from Edinburgh Airport to Geneva International Airport via London Luton
- Ave. Duration
- 4h 45m
- When
- Thursday
- Estimated price
- €40–140
Flights from Edinburgh Airport to Geneva International Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 30m
- When
- Wednesday
- Estimated price
- €40–140
Flights from Edinburgh Airport to Zurich Airport
- Ave. Duration
- 2h 5m
- When
- Monday, Wednesday, Friday, and Saturday
- Estimated price
- €45–190
Flights from Edinburgh Airport to Zurich Airport via London Luton
- Ave. Duration
- 4h 45m
- When
- Sunday
- Estimated price
- €45–190
Flights from Edinburgh Airport to Basel
- Ave. Duration
- 2h
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- €50–150
Flights from Edinburgh Airport to Basel via Amsterdam Schiphol
- Ave. Duration
- 3h 55m
- When
- Sunday
- Estimated price
- €50–150
Flights from Edinburgh Airport to Basel via Bristol
- Ave. Duration
- 4h 5m
- When
- Monday and Friday
- Estimated price
- €50–150
Flights from Edinburgh Airport to Basel via London Gatwick
- Ave. Duration
- 4h 35m
- When
- Sunday
- Estimated price
- €50–150
- Website
- klm.com
Flights from Edinburgh Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 42m
- When
- Every day
- Estimated price
- €65–350
Flights from Edinburgh Airport to Geneva International Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 13m
- When
- Every day
- Estimated price
- €55–310
Flights from Edinburgh Airport to Basel via Amsterdam Schiphol
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- €55–320
- Website
- ryanair.com
Flights from Edinburgh Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 30m
- When
- Monday
- Estimated price
- €60–130
Flights from Edinburgh Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 34m
- When
- Every day
- Estimated price
- €70–130
Flights from Edinburgh Airport to Il Caravaggio International Airport via Charleroi
- Ave. Duration
- 4h 20m
- When
- Saturday
- Estimated price
- €70–130
- Website
- lufthansa.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 4h 10m
- When
- Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €70–290
Flights from Edinburgh Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 17m
- When
- Every day
- Estimated price
- €90–360
Flights from Edinburgh Airport to Zurich Airport via Frankfurt
- Ave. Duration
- 3h 45m
- When
- Monday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €80–310
Flights from Edinburgh Airport to Basel via Frankfurt
- Ave. Duration
- 4h 5m
- When
- Every day
- Estimated price
- €80–180
- Website
- swiss.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Zurich Airport
- Ave. Duration
- 5h 5m
- When
- Saturday
- Estimated price
- €50–280
Flights from Edinburgh Airport to Zurich Airport
- Ave. Duration
- 2h 15m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €50–300
- Website
- brusselsairlines.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Brussels
- Ave. Duration
- 4h 20m
- When
- Monday and Friday
- Estimated price
- €60–230
Flights from Edinburgh Airport to Geneva International Airport via Brussels
- Ave. Duration
- 3h 45m
- When
- Monday and Friday
- Estimated price
- €70–260
Flights from Edinburgh Airport to Zurich Airport via Brussels
- Ave. Duration
- 4h 30m
- When
- Monday and Friday
- Estimated price
- €70–260
- Website
- flyedelweiss.com
Flights from Edinburgh Airport to Zurich Airport
- Ave. Duration
- 2h 15m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €50–300
- Website
- eurowings.com
Flights from Edinburgh Airport to Milano Malpensa Airport via Dusseldorf
- Ave. Duration
- 5h 35m
- When
- Friday and Sunday
- Estimated price
- €55–210
Flights from Edinburgh Airport to Zurich Airport via Dusseldorf
- Ave. Duration
- 4h 30m
- When
- Sunday
- Estimated price
- €110–190
- Website
- luxair.lu
Flights from Edinburgh Airport to Milano Malpensa Airport via Luxembourg
- Ave. Duration
- 4h 45m
- When
- Friday
- Estimated price
- €70–400
- Website
- jet2.com
Flights from Edinburgh Airport to Geneva International Airport
- Ave. Duration
- 2h 30m
- When
- Saturday
- Estimated price
- €40–180
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Gallarate to Domodossola
- Ave. Duration
- 1h 4m
- Frequency
- Every 3 hours
- Estimated price
- €6–8
- Website
- https://www.trenord.it/en/
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Gallarate to Domodossola
- Ave. Duration
- 1h 42m
- Frequency
- Every 4 hours
- Estimated price
- €6–15
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €10–15
- Phone
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Estimated price
- €13–28
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 345 722 5333
- customers@lner.co.uk
- Website
- lner.co.uk
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 15m
- Frequency
- Twice daily
- Estimated price
- €12–13
- Website
- https://www.lner.co.uk/
Train from Edinburgh Waverley to King's Cross
- Ave. Duration
- 4h 8m
- Frequency
- Every 30 minutes
- Estimated price
- €70–140
- Website
- https://www.lner.co.uk/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Perth to Edinburgh Waverley
- Ave. Duration
- 1h 28m
- Frequency
- Twice daily
- Estimated price
- €65–90
- Website
- https://www.sleeper.scot/
- Sleeper Berth Classic
- €230–260
- Sleeper Seat
- €65–90
- Sleeper Berth Club Solo
- €260–300
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from London St. Pancras Int. to Rotterdam Centraal
- Ave. Duration
- 3h 28m
- Frequency
- 5 times a day
- Estimated price
- €75–270
- Website
- https://www.ns.nl/en
- 2nd Class
- €75–120
- 1st Class
- €160–270
Train from Rotterdam Centraal to Zürich HB
- Ave. Duration
- 11h 34m
- Frequency
- Twice a week
- Estimated price
- €130–460
- Website
- https://www.ns.nl/en
- 2nd Class
- €130–200
- 1st Class
- €280–460
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Domodossola
- Ave. Duration
- 2h 29m
- Frequency
- Once a week
- Estimated price
- €70–120
- Website
- https://www.sbb.ch/en
Train from Genève-Aéroport to Brig
- Ave. Duration
- 2h 37m
- Frequency
- Hourly
- Estimated price
- €40–70
- Website
- https://www.sbb.ch/en
Train from Zürich Flughafen to Brig
- Ave. Duration
- 2h 28m
- Frequency
- Hourly
- Estimated price
- €60–110
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Brig
- Ave. Duration
- 2h 17m
- Frequency
- Every 3 hours
- Estimated price
- €60–110
- Website
- https://www.sbb.ch/en
Train from Edinburgh Waverley to Sheffield
- Ave. Duration
- 3h 34m
- Frequency
- Hourly
- Estimated price
- €40–200
- Website
- https://www.crosscountrytrains.co.uk/
- Phone
- +44 (0) 8443 35 35 35
- Website
- leshuttle.com
Car train from Folkestone to Calais-Fréthun
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Website
- https://www.leshuttle.com/uk-en
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Domodossola
- Ave. Duration
- 1h 33m
- Frequency
- Every 4 hours
- Estimated price
- €30–75
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €50–75
- 2nd Class
- €30–45
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Basel SBB to Brig
- Ave. Duration
- 2h 12m
- Frequency
- Once daily
- Estimated price
- €16–21
- Schedules at
- sbb-deutschland.de
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Leonard Street to Airport
- Ave. Duration
- 49 min
- Frequency
- Hourly
- Website
- https://www.ember.to/
Bus from Leonard Street to George Street
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Website
- https://www.ember.to/
- Phone
- +39 0322 844 862
- comazzi@comazzibus.com
- Website
- comazzibus.com
Bus from Domodossola - Cimitero to Macugnaga - Staffa - Piazza Municipio
- Ave. Duration
- 1h 15m
- Frequency
- 5 times a day
- Estimated price
- €3–5
- Website
- https://www.comazzibus.com/eng/index.php
- Phone
- +421 55 680 73 06
- onlinepredaj@eurobus.sk
- Website
- eurobus.sk
Bus from Sheffield to Brussel Eurolines Busstation
- Ave. Duration
- 10h 42m
- Frequency
- 4 times a week
- Estimated price
- €26–31
- Website
- https://www.eurobus.sk/en
- Phone
- +393293958604
- info@pistoiaviaggi.com
- Website
- pistoia-viaggi.it
Bus from Brussels-North Station to Zurich
- Ave. Duration
- 9h 46m
- Frequency
- Once a week
- Schedules at
- pistoia-viaggi.it
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Park and Ride to London Victoria
- Ave. Duration
- 11h 15m
- Frequency
- Hourly
- Estimated price
- €30–95
- Website
- https://www.flixbus.co.uk
Bus from London Victoria to Paris
- Ave. Duration
- 9h 15m
- Frequency
- Every 20 minutes
- Estimated price
- €22–85
- Website
- https://www.flixbus.co.uk
Bus from Paris, Quai de Bercy (Bercy Seine) to Aosta
- Ave. Duration
- 9h 30m
- Frequency
- 4 times a day
- Estimated price
- €40–100
- Website
- https://www.flixbus.co.uk
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from London Victoria to Paris
- Ave. Duration
- 9h 41m
- Frequency
- 3 times a week
- Estimated price
- €21–70
- Website
- https://www.blablacar.co.uk/bus
- Phone
- 07001 8282
- booking@union-ivkoni.com
- Website
- union-ivkoni.com
Bus from London Victoria to Paris
- Ave. Duration
- 10h 30m
- Frequency
- 3 times a week
- Estimated price
- €16–23
- Website
- https://union-ivkoni.com/en
- Phone
- +353 818 300 400
- info@irishferries.com
- Website
- irishferries.com
Car ferry from Port of Dover to Calais
- Ave. Duration
- 1h 30m
- Frequency
- Every 3 hours
- Estimated price
- €35–45
- Website
- https://www.irishferries.com/uk-en/Travel-to-Ireland
- Car
- €75–190
- On Foot
- €35–45
Want to know more about travelling around Italy
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
Italy Travel Guides
Read the travel guide
Travelling to the UK: What do I need to know?
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide










































































