There are 13 ways to get from Ullapool to Staffa by bus, plane, train, night 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 to Inverness Dalcross Airport, fly to Milano Malpensa Airport, train
best- Take the bus from Ferry Terminal to Bus Station Stance 3
- Fly from Inverness Dalcross Airport (INV) to Milano Malpensa Airport (MXP)INV - MXP
- Take the train from Gallarate to Domodossola
13h 31m€95–315Bus, train, night train
- Take the bus from Ferry Terminal to Bus Station Stance 3961
- Take the train from Inverness to King's Cross
- Take the train from London St Pancras Intl to Rotterdam CentraalEil
- Take the night train from Rotterdam Centraal to Zuerich HbNj
- Take the train from Zürich HB to DomodossolaIc
33h 9m€413–1,065Drive, Eurotunnel
- Drive from Ullapool to Folkestone
- Take the car train from Folkestone to Calais-Fréthun
- Drive from Calais-Fréthun to Staffa
22h 52mBus to Inverness Dalcross Airport, fly to Milan Linate Airport, train
- Take the bus from Ferry Terminal to Bus Station Stance 3
- Fly from Inverness Dalcross Airport (INV) to Milan Linate Airport (LIN)INV - LIN
- Take the train from Milano Centrale to Domodossola
14h 6m€186–812Bus to Inverness Dalcross Airport, fly to Geneva International Airport, train
- Take the bus from Ferry Terminal to Bus Station Stance 3
- Fly from Inverness Dalcross Airport (INV) to Geneva International Airport (GVA)INV - GVA
- Take the train from Genève-Aéroport to Brig
15h 25m€209–458Bus to Inverness Dalcross Airport, fly to Turin Caselle Airport, train
- Take the bus from Ferry Terminal to Bus Station Stance 3
- Fly from Inverness Dalcross Airport (INV) to Turin Caselle Airport (TRN)INV - TRN
- Take the train from Torino Porta Susa to Novara
- Take the train from Novara to Piedimulera
16h 13m€126–409Bus, train, bus to Edinburgh Airport, fly to Milan Linate Airport
- Take the bus from Ferry Terminal to Bus Station Stance 3
- Take the train from Inverness to Pitlochry
- Take the bus from Fishers Hotel to Airport
- Fly from Edinburgh Airport (EDI) to Milan Linate Airport (LIN)EDI - LIN
- Take the train from Milano Centrale to Domodossola
15h 55mBus, train, bus to Edinburgh Airport, fly to Geneva International Airport
- Take the bus from Ferry Terminal to Bus Station Stance 3
- Take the train from Inverness to Pitlochry
- Take the bus from Fishers Hotel to Airport
- Fly from Edinburgh Airport (EDI) to Geneva International Airport (GVA)EDI - GVA
- Take the train from Genève-Aéroport to Brig
17hBus, train, bus to Edinburgh Airport, fly to Zurich Airport
- Take the bus from Ferry Terminal to Bus Station Stance 3
- Take the train from Inverness to Pitlochry
- Take the bus from Fishers Hotel to Airport
- Fly from Edinburgh Airport (EDI) to Zurich Airport (ZRH)EDI - ZRH
- Take the train from Zürich Flughafen to Brig
16h 54mBus, train, bus to Edinburgh Airport, fly to Il Caravaggio International Airport
- Take the bus from Ferry Terminal to Bus Station Stance 3
- Take the train from Inverness to Pitlochry
- Take the bus from Fishers Hotel to Airport
- Fly from Edinburgh Airport (EDI) to Il Caravaggio International Airport (BGY)EDI - BGY
- Take the train from Milano Centrale to Domodossola
16h 21mBus, train
- Take the bus from Ferry Terminal to Bus Station Stance 3961
- Take the train from Inverness to King's Cross
- Take the train from London St. Pancras Int. to Amsterdam Centraal
- Take the train from Amsterdam Centraal to Zürich HB
- Take the train from Zürich HB to DomodossolaIc
34h 45m€413–1,085Bus, train via Rotterdam
- Take the bus from Ferry Terminal to Bus Station Stance 3961
- Take the train from Inverness to London Euston
- Take the train from London St. Pancras Int. to Rotterdam Centraal
- Take the bus from Rotterdam Central Station to Zurich Bus Station007
- Take the train from Zürich HB to DomodossolaIc
38h 45m€280–637Drive, car ferry
- Drive from Ullapool to Port of Dover
- Take the car ferry from Port of Dover to Calais
- Drive from Calais to Staffa
23h 52m€392–565
Ullapool to Staffa by bus, train, night train, and foot
Questions & Answers
The cheapest way to get from Ullapool to Staffa is to bus and fly and train which costs €95 - €320 and takes 13h 31m.
The fastest way to get from Ullapool to Staffa is to bus and fly and train which takes 13h 31m and costs €95 - €320.
The distance between Ullapool and Staffa is 1833 km.
The best way to get from Ullapool to Staffa without a car is to bus and train and night train which takes 33h 9m and costs €410 - €1100.
It takes approximately 13h 31m to get from Ullapool to Staffa, including transfers.
Staffa is 1h ahead of Ullapool. It is currently 1:45 AM in Ullapool and 2:45 AM in Staffa.
There are 1458+ hotels available in Staffa.
What companies run services between Ullapool, Scotland and Staffa, Italy?
There is no direct connection from Ullapool to Staffa. However, you can take the bus to Bus Station Stance 3, walk to Inverness, take the train to Inverness Airport Station, walk to Inverness Airport station, take the bus to Terminal Building, walk to Inverness Dalcross Airport (INV) airport, fly to Milano Malpensa Airport (MXP), walk to Malpensa Aeroporto T1, take the train to Gallarate, take the train to Domodossola, walk to Domodossola - Cimitero, then take the line 4 bus to Macugnaga - Staffa - Piazza Municipio. Alternatively, you can take a bus from Ferry Terminal to Macugnaga - Staffa - Piazza Municipio via Bus Station Stance 3, Inverness, London Kings Cross, London St Pancras Intl, Rotterdam Centraal, Rotterdam Centraal, Zuerich Hb, Zürich HB, Domodossola, and Domodossola - Cimitero in around 33h 9m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Website
- easyjet.com
Flights from Inverness Dalcross Airport to Milano Malpensa Airport via London Gatwick
- Ave. Duration
- 4h 35m
- When
- Thursday, Friday, and Sunday
- Estimated price
- €65–270
Flights from Inverness Dalcross Airport to Milan Linate Airport via London Gatwick
- Ave. Duration
- 5h 45m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €130–550
Flights from Inverness Dalcross Airport to Milan Linate Airport via Manchester
- Ave. Duration
- 5h 10m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- €130–550
Flights from Inverness Dalcross Airport to Geneva International Airport via London Luton
- Ave. Duration
- 7h 5m
- When
- Wednesday and Friday
- Estimated price
- €130–320
Flights from Inverness Dalcross Airport to Geneva International Airport via London Gatwick
- Ave. Duration
- 6h 56m
- When
- Monday, Tuesday, Wednesday, Friday, and Sunday
- Estimated price
- €130–320
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
- €45–140
Flights from Edinburgh Airport to Geneva International Airport via London Luton
- Ave. Duration
- 4h 25m
- When
- Tuesday and Thursday
- Estimated price
- €45–140
Flights from Edinburgh Airport to Geneva International Airport via Bristol
- Ave. Duration
- 4h 10m
- When
- Friday
- Estimated price
- €45–140
Flights from Edinburgh Airport to Geneva International Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 30m
- When
- Wednesday
- Estimated price
- €45–140
Flights from Edinburgh Airport to Zurich Airport
- Ave. Duration
- 2h 5m
- When
- Monday, Wednesday, Friday, and Saturday
- Estimated price
- €45–180
Flights from Edinburgh Airport to Zurich Airport via London Luton
- Ave. Duration
- 4h 45m
- When
- Sunday
- Estimated price
- €45–180
- Website
- klm.com
Flights from Inverness Dalcross Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- €95–490
Flights from Inverness Dalcross Airport to Geneva International Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- €80–430
Flights from Inverness Dalcross Airport to Turin Caselle Airport via Amsterdam Schiphol
- Ave. Duration
- 8h 25m
- When
- Every day
- Estimated price
- €100–550
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–300
- Website
- ryanair.com
Flights from Inverness Dalcross Airport to Milano Malpensa Airport via Manchester
- Ave. Duration
- 5h 25m
- When
- Saturday
- Estimated price
- €65–250
Flights from Inverness Dalcross Airport to Turin Caselle Airport via Bristol
- Ave. Duration
- 4h 55m
- When
- Monday
- Estimated price
- €90–340
Flights from Edinburgh Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 34m
- When
- Every day
- Estimated price
- €75–140
Flights from Edinburgh Airport to Il Caravaggio International Airport via Charleroi
- Ave. Duration
- 4h 20m
- When
- Saturday
- Estimated price
- €75–140
- Website
- britishairways.com
Flights from Inverness Dalcross Airport to Milano Malpensa Airport via London Heathrow
- Ave. Duration
- 4h 50m
- When
- Friday
- Estimated price
- €90–470
Flights from Inverness Dalcross Airport to Milan Linate Airport via London Heathrow
- Ave. Duration
- 4h 50m
- When
- Monday to Friday
- Estimated price
- €140–1,300
Flights from Inverness Dalcross Airport to Geneva International Airport via London Heathrow
- Ave. Duration
- 5h 5m
- When
- Thursday and Friday
- Estimated price
- €100–500
Flights from Inverness Dalcross Airport to Turin Caselle Airport via London Gatwick
- Ave. Duration
- 8h 20m
- When
- Friday and Sunday
- Estimated price
- €120–650
- Website
- lufthansa.com
Flights from Edinburgh Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 17m
- When
- Every day
- Estimated price
- €90–350
Flights from Edinburgh Airport to Zurich Airport via Frankfurt
- Ave. Duration
- 3h 45m
- When
- Monday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €75–310
- Website
- flyedelweiss.com
Flights from Edinburgh Airport to Zurich Airport
- Ave. Duration
- 2h 15m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €50–290
- Website
- flyulendo.com
Flights from Inverness Dalcross Airport to Milano Malpensa Airport via London Luton
- Ave. Duration
- 6h 35m
- When
- Tuesday and Friday
- Estimated price
- €50–240
- Website
- brusselsairlines.com
Flights from Edinburgh Airport to Geneva International Airport via Brussels
- Ave. Duration
- 3h 45m
- When
- Monday and Friday
- Estimated price
- €70–250
Flights from Edinburgh Airport to Zurich Airport via Brussels
- Ave. Duration
- 4h 30m
- When
- Monday and Friday
- Estimated price
- €70–250
- Website
- jet2.com
Flights from Edinburgh Airport to Geneva International Airport
- Ave. Duration
- 2h 30m
- When
- Saturday
- Estimated price
- €45–170
- Website
- eurowings.com
Flights from Edinburgh Airport to Zurich Airport via Dusseldorf
- Ave. Duration
- 4h 30m
- When
- Sunday
- Estimated price
- €110–190
- 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
Train from Torino Porta Susa to Novara
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- €6–18
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €12–18
Train from Novara to Piedimulera
- Ave. Duration
- 1h 42m
- Frequency
- Every 4 hours
- Estimated price
- €5–15
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €10–15
- Phone
- +44 345 722 5333
- customers@lner.co.uk
- Website
- lner.co.uk
Train from Inverness to King's Cross
- Ave. Duration
- 7h 52m
- Frequency
- Twice daily
- Estimated price
- €138–143
- Website
- https://www.lner.co.uk/
Train from Inverness to Pitlochry
- Ave. Duration
- 1h 32m
- Frequency
- Twice daily
- Estimated price
- €15–17
- Website
- https://www.lner.co.uk/
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from London St Pancras Intl to Rotterdam Centraal
- Ave. Duration
- 3h 28m
- Frequency
- Twice daily
- Estimated price
- €80–350
- Website
- https://www.eurostar.com/rw-en
Train from London St. Pancras Int. to Amsterdam Centraal
- Ave. Duration
- 4h 16m
- Frequency
- Twice daily
- Estimated price
- €70–330
- Website
- https://www.eurostar.com/rw-en
- Phone
- +31 30 751 5155
- Website
- ns.nl
Night train from Rotterdam Centraal to Zuerich Hb
- Ave. Duration
- 11h 34m
- Frequency
- Twice a week
- Estimated price
- €120–430
- Website
- https://www.ns.nl/en
- 2nd Class
- €120–180
- 1st Class
- €260–430
Train from London St. Pancras Int. to Amsterdam Centraal
- Ave. Duration
- 4h 40m
- Frequency
- 5 times a day
- Estimated price
- €95–270
- Website
- https://www.ns.nl/en
Train from Amsterdam Centraal to Zürich HB
- Ave. Duration
- 11h 50m
- Frequency
- Twice daily
- Estimated price
- €130–470
- Website
- https://www.ns.nl/en
- 2nd Class
- €130–200
- 1st Class
- €280–470
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
- 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
- €60–120
- Website
- https://www.sbb.ch/en
Train from Genève-Aéroport to Brig
- Ave. Duration
- 2h 37m
- Frequency
- Hourly
- Estimated price
- €40–75
- 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
- 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
- +44 344 811 0141
- Website
- scotrail.co.uk
Train from Inverness to Pitlochry
- Ave. Duration
- 1h 47m
- Frequency
- Every 2 hours
- Estimated price
- €34–35
- Website
- https://www.scotrail.co.uk/
- Phone
- +44 330 060 0500
- enquiry@sleeper.scot
- Website
- sleeper.scot
Train from Inverness to Pitlochry
- Ave. Duration
- 2h 2m
- 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
- €270–310
Train from Inverness to London Euston
- Ave. Duration
- 11h 2m
- Frequency
- Twice daily
- Estimated price
- €95–140
- Website
- https://www.sleeper.scot/
- Phone
- 0141 352 4444
- info@citylink.co.uk
- Website
- citylink.co.uk
Bus from Ferry Terminal to Bus Station Stance 3
- Ave. Duration
- 1h 20m
- Frequency
- Every 4 hours
- Estimated price
- €12–17
- Website
- https://www.citylink.co.uk/
- Phone
- 01463 222 444
- info@decoaches.co.uk
- Website
- decoaches.co.uk
Bus from Ferry Terminal to Bus Station Stance 3
- Ave. Duration
- 1h 46m
- Frequency
- 3 times a day
- Website
- https://www.decoaches.co.uk/
- Phone
- +44 (0)131 510 4007
- ride@ember.to
- Website
- ember.to
Bus from Fishers Hotel to Airport
- Ave. Duration
- 1h 24m
- Frequency
- Hourly
- Website
- https://www.ember.to/
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Rotterdam Central Station to Zurich Bus Station
- Ave. Duration
- 13h 50m
- Frequency
- 5 times a week
- Estimated price
- €35–85
- Website
- https://www.flixbus.co.uk
- 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

























































