There are 7 ways to get from Oslo to Zermatt by train, plane, car ferry, or bus
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train, fly to Geneva International Airport
best- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Geneva International Airport (GVA)plane OSL - GVA
- Take the train from Genève-Aéroport to Visptrain
9h 25mCHF 164–439Train, fly to Milano Malpensa Airport
cheapest- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Milano Malpensa Airport (MXP)plane OSL - MXP
- Take the train from Gallarate to Domodossolatrain
- Take the train from Brig Bahnhofplatz to Zermatttrain
10h 10mCHF 93–415Train
- Take the train from Oslo S to Malmö Centralstationtrain
- Take the train from Malmo C to Hamburg Hbftrain Ic
- Take the train from Hamburg Hbf to Basel SBBtrain 20 / ...
- Take the train from Basel SBB to Visptrain Ic6 / ...
25h 32mCHF 332–801Car ferry, train
- Take the car ferry from Oslo Vipperangen to Port of Kielcarferry
- Take the train from Kiel Hbf to Hamburg Hbftrain Re7
- Take the train from Hamburg Hbf to Basel SBBtrain 20 / ...
- Take the train from Basel SBB to Visptrain Ic6 / ...
34h 23mCHF 370–970Bus, train
- Take the bus from Oslo bussterminal to Słubicebus
- Take the bus from SŁUBICE, Port Świecko, Świecko 39 to ZÜRICH, Carparkplatz am Sihlquaibus
- Take the train from Zürich HB to Visptrain Ic8 / ...
40h 51mCHF 243–574Train, fly to Zurich Airport
- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Zurich Airport (ZRH)plane OSL - ZRH
- Take the train from Zürich Flughafen to Berntrain
- Take the train from Bern to Visptrain
9h 17mCHF 179–479Train, fly to Milan Linate Airport
- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Milan Linate Airport (LIN)plane OSL - LIN
- Take the train from Rho Fiera Milano to Domodossolatrain
- Take the train from Brig Bahnhofplatz to Zermatttrain
12h 26mCHF 130–510
Oslo to Zermatt by train
Questions & Answers
The cheapest way to get from Oslo to Zermatt is to train and fly which costs SFr 90 - SFr 420 and takes 10h 10m.
The fastest way to get from Oslo to Zermatt is to train and fly which takes 9h 17m and costs SFr 170 - SFr 480.
No, there is no direct train from Oslo to Zermatt. However, there are services departing from Oslo S and arriving at Zermatt via Malmo C, Hamburg Hbf, Basel SBB and Visp. The journey, including transfers, takes approximately 25h 32m.
The distance between Oslo and Zermatt is 1872 km.
The best way to get from Oslo to Zermatt without a car is to train which takes 25h 32m and costs SFr 330 - SFr 800.
It takes approximately 9h 25m to get from Oslo to Zermatt, including transfers.
Oslo to Zermatt train services, operated by Norwegian Railways (VY), depart from Oslo S station.
Oslo to Zermatt train services, operated by Norwegian Railways (VY), arrive at Malmö Centralstation.
There are 2269+ hotels available in Zermatt.
What companies run services between Oslo, Norway and Zermatt, Switzerland?
You can take a train from Oslo S to Zermatt via Malmö Centralstation, Malmo C, Hamburg Hbf, Basel SBB, and Visp in around 25h 32m.
- Website
- flysas.com
Flights from Oslo Airport, Gardermoen to Geneva International Airport
- Ave. Duration
- 2h 35m
- When
- Saturday
- Estimated price
- CHF 45–200
Flights from Oslo Airport, Gardermoen to Geneva International Airport via Copenhagen
- Ave. Duration
- 4h 27m
- When
- Every day
- Estimated price
- CHF 45–200
Flights from Oslo Airport, Gardermoen to Zurich Airport
- Ave. Duration
- 2h 23m
- When
- Every day
- Estimated price
- CHF 75–200
Flights from Oslo Airport, Gardermoen to Zurich Airport via Copenhagen
- Ave. Duration
- 4h 27m
- When
- Every day
- Estimated price
- CHF 75–200
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- CHF 50–550
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Copenhagen
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- CHF 50–550
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Copenhagen
- Ave. Duration
- 4h 25m
- When
- Sunday
- Estimated price
- CHF 45–460
- Website
- lufthansa.com
Flights from Oslo Airport, Gardermoen to Geneva International Airport via Frankfurt
- Ave. Duration
- 5h 12m
- When
- Every day
- Estimated price
- CHF 75–250
Flights from Oslo Airport, Gardermoen to Zurich Airport via Frankfurt
- Ave. Duration
- 4h 16m
- When
- Every day
- Estimated price
- CHF 70–300
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Frankfurt
- Ave. Duration
- 5h 11m
- When
- Every day
- Estimated price
- CHF 75–310
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Munich
- Ave. Duration
- 6h 3m
- When
- Every day
- Estimated price
- CHF 75–310
- Website
- norwegian.com
Flights from Oslo Airport, Gardermoen to Geneva International Airport
- Ave. Duration
- 2h 30m
- When
- Thursday, Saturday, and Sunday
- Estimated price
- CHF 65–180
Flights from Oslo Airport, Gardermoen to Zurich Airport
- Ave. Duration
- 2h 20m
- When
- Thursday
- Estimated price
- CHF 60–250
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 40–150
- Website
- swiss.com
Flights from Oslo Airport, Gardermoen to Geneva International Airport via Zurich Airport
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- CHF 70–180
Flights from Oslo Airport, Gardermoen to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- CHF 65–270
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Zurich Airport
- Ave. Duration
- 5h 15m
- When
- Every day
- Estimated price
- CHF 60–240
- Website
- brusselsairlines.com
Flights from Oslo Airport, Gardermoen to Zurich Airport via Brussels
- Ave. Duration
- 4h 35m
- When
- Saturday
- Estimated price
- CHF 60–240
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Brussels
- Ave. Duration
- 5h 10m
- When
- Monday to Saturday
- Estimated price
- CHF 65–260
- Phone
- +47 23 15 90 00
- flytoget@flytoget.no
- Website
- flytoget.no
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 18–20
- Website
- https://flytoget.no/en/
- Phone
- +47 61 05 19 10
- tog@vy.no
- Website
- vy.no
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 23 min
- Frequency
- Every 20 minutes
- Estimated price
- CHF 9–14
- Website
- https://www.vy.no/en
- Book at
- https://www.vy.no/en/buy-tickets/train-and-bus-tickets
Train from Oslo S to Malmö Centralstation
- Ave. Duration
- 6h 13m
- Frequency
- 3 times a week
- Estimated price
- CHF 120–180
- Website
- https://www.vy.no/en
- Book at
- https://www.vy.no/en/buy-tickets/train-and-bus-tickets
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Genève-Aéroport to Visp
- Ave. Duration
- 2h 28m
- Frequency
- Hourly
- Estimated price
- CHF 65–200
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Visp
- Ave. Duration
- 2h 6m
- Frequency
- Hourly
- Estimated price
- CHF 60–190
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Visp
- Ave. Duration
- 2h 2m
- Frequency
- Every 4 hours
- Estimated price
- CHF 65–200
- Website
- https://www.sbb.ch/en
Train from Zürich Flughafen to Bern
- Ave. Duration
- 1h 19m
- Frequency
- Hourly
- Estimated price
- CHF 40–120
- Website
- https://www.sbb.ch/en
Train from Bern to Visp
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 30–90
- Website
- https://www.sbb.ch/en
- Phone
- +46 40 669 62 00
- snalltaget@snalltaget.se
- Website
- snalltaget.se
Train from Malmo C to Hamburg Hbf
- Ave. Duration
- 5h 42m
- Frequency
- Once daily
- Estimated price
- CHF 45–80
- Website
- https://www.snalltaget.se/en
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Hamburg Hbf to Basel SBB
- Ave. Duration
- 7h 37m
- Frequency
- Hourly
- Estimated price
- CHF 130–310
- Website
- https://int.bahn.de/en
Train from Kiel Hbf to Hamburg Hbf
- Ave. Duration
- 1h 6m
- Frequency
- Every 3 hours
- Estimated price
- CHF 17–40
- Website
- https://int.bahn.de/en
- Phone
- +43 5 1717
- Website
- konzern.oebb.at
Train from Hamburg Hbf to Basel SBB
- Ave. Duration
- 10h 37m
- Frequency
- Twice daily
- Estimated price
- CHF 150–220
- Website
- https://konzern.oebb.at/en/
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Basel SBB to Visp
- Ave. Duration
- 2h 5m
- Frequency
- 3 times a day
- Estimated price
- CHF 14–19
- Schedules at
- sbb-deutschland.de
- Phone
- +49 30 2970
- Website
- bahn.de
Train from Kiel Hbf to Hamburg Hbf
- Ave. Duration
- 1h 14m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 21–35
- Website
- https://int.bahn.de/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Gallarate to Domodossola
- Ave. Duration
- 1h 1m
- Frequency
- Every 2 hours
- Estimated price
- CHF 5–8
- Website
- https://www.trenord.it/en/
Train from Rho Fiera Milano to Domodossola
- Ave. Duration
- 1h 26m
- Frequency
- Every 2 hours
- Estimated price
- CHF 6–8
- Website
- https://www.trenord.it/en/
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Gallarate to Domodossola
- Ave. Duration
- 1h 40m
- Frequency
- Every 4 hours
- Estimated price
- CHF 9–16
- Website
- https://www.trenitalia.com/en.html
Train from Rho Fiera Milano to Domodossola
- Ave. Duration
- 2h 4m
- Frequency
- Every 4 hours
- Estimated price
- CHF 13–22
- Website
- https://www.trenitalia.com/en.html
- Phone
- +41 (0)848 642 442
- railcenter@mgbahn.ch
- Website
- matterhorngotthardbahn.ch
Train from Brig Bahnhofplatz to Zermatt
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Estimated price
- CHF 25–55
- Website
- https://www.matterhorngotthardbahn.ch/en/
- 2nd Class Ticket
- CHF 25–31
- 1st Class Ticket
- CHF 45–55
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Rho Fiera Milano to Domodossola
- Ave. Duration
- 1h 24m
- Frequency
- 6 times a week
- Estimated price
- CHF 15–26
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 15–22
- 2nd Class
- CHF 19–26
- Phone
- +48 801 22 33 44
- bilety@sindbad.pl
- Website
- sindbad.pl
Bus from Oslo bussterminal to Słubice
- Ave. Duration
- 21h 50m
- Frequency
- Once a week
- Estimated price
- CHF 90–190
- Website
- https://www.sindbad.pl/en/home
Bus from SŁUBICE, Port Świecko, Świecko 39 to ZÜRICH, Carparkplatz am Sihlquai
- Ave. Duration
- 13h 30m
- Frequency
- 5 times a week
- Estimated price
- CHF 65–140
- Website
- https://www.sindbad.pl/en/home
- Phone
- +45 99 56 19 00
- Website
- colorline.no
Car ferry from Oslo Vipperangen to Port of Kiel
- Ave. Duration
- 20h
- Frequency
- Once daily
- Estimated price
- CHF 189–386
- Website
- https://www.colorline.com/
- Car
- CHF 386
- No Car
- CHF 189
Want to know more about travelling around Switzerland
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
How to plan an amazing trip around Scandinavia
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Italy Travel Guides
Read the travel guide





















































