There are 8 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 to Oslo Airport, Gardermoen, fly to Geneva International Airport, train
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 169–469Train to Oslo Airport, Gardermoen, fly to Milano Malpensa Airport, bus, train
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 bus from Aeroporto Malpensa - Terminal 1 to Domodossola - Stazione Ferroviariabus
- Take the train from Brig Bahnhofplatz to Zermatttrain
10h 16mCHF 99–417Train
- Take the train from Oslo S to København Htrain Ic
- Take the train from Koebenhavn H to Hamburg-Altonatrain Rj
- Take the train from Hamburg-Altona to Visptrain Ice
25h 31mCHF 473–854Car ferry, train
- Take the carferry from Oslo Vipperangen to Port of Kielcarferry
- Take the train from Kiel Hbf to Hamburg-Altonatrain Re7
- Take the train from Hamburg-Altona to Visptrain Ice
35h 36mCHF 592–1,136Bus, train
- Take the bus from Oslo bussterminal to Słubicebus
- Take the bus from SŁUBICE, Port Świecko, Świecko 39 to BERN, Car - Terminal Neufeldbus
- Take the train from Bern to Visptrain Ic8 / ...
40h 54mCHF 237–545Train to Oslo Airport, Gardermoen, fly to Zurich Airport, train
- 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 174–404Train to Oslo Airport, Gardermoen, fly to Milan Linate Airport, train
- 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 Milano Centrale to Brigtrain
- Take the train from Brig Bahnhofplatz to Zermatttrain
12h 13mCHF 166–633Train to Sandefjord Airport, fly to Il Caravaggio International Airport, bus, train
- Take the train from Oslo S to Sandefjord stasjontrain
- Fly from Sandefjord Airport (TRF) to Il Caravaggio International Airport (BGY)plane TRF - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
- Take the train from Milano Centrale to Brigtrain
- Take the train from Brig Bahnhofplatz to Zermatttrain
12h 46mCHF 132–494
Oslo to Zermatt by train
Comparing Your Travel Options
The cheapest way to get from Oslo to Zermatt is to train and fly and bus which costs SFr 95 - SFr 420 and takes 10h 16m.
The fastest way to get from Oslo to Zermatt is to train and fly which takes 9h 17m and costs SFr 170 - SFr 410.
No, there is no direct train from Oslo to Zermatt. However, there are services departing from Oslo S and arriving at Zermatt via Koebenhavn H, Hamburg-Altona and Visp. The journey, including transfers, takes approximately 25h 31m.
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 31m and costs SFr 470 - SFr 900.
It takes approximately 9h 25m to get from Oslo to Zermatt, including transfers.
Oslo to Zermatt train services, operated by Snälltåget, depart from Oslo S station.
Oslo to Zermatt train services, operated by Snälltåget, arrive at København H station.
Book your Oslo to Zermatt train tickets online with Omio.
There are 2584+ 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 København H, Koebenhavn H, Hamburg-Altona, and Visp in around 25h 31m.
- Website
- lufthansa.com
Flights from Oslo Airport, Gardermoen to Zurich Airport via Frankfurt
- Ave. Duration
- 4h 43m
- When
- Every day
- Estimated price
- CHF 80–290
Flights from Oslo Airport, Gardermoen to Zurich Airport via Munich
- Ave. Duration
- 4h 43m
- When
- Every day
- Estimated price
- CHF 80–290
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Frankfurt
- Ave. Duration
- 5h 11m
- When
- Every day
- Estimated price
- CHF 85–300
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Munich
- Ave. Duration
- 7h
- When
- Every day
- Estimated price
- CHF 85–300
- Website
- flysas.com
Flights from Oslo Airport, Gardermoen to Geneva International Airport
- Ave. Duration
- 2h 35m
- When
- Saturday
- Estimated price
- CHF 70–290
Flights from Oslo Airport, Gardermoen to Geneva International Airport via Copenhagen
- Ave. Duration
- 4h 45m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 70–290
Flights from Oslo Airport, Gardermoen to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Monday, Friday, and Sunday
- Estimated price
- CHF 85–220
Flights from Oslo Airport, Gardermoen to Zurich Airport via Copenhagen
- Ave. Duration
- 4h 53m
- When
- Every day
- Estimated price
- CHF 85–220
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 45m
- When
- Monday, Wednesday, Thursday, and Sunday
- Estimated price
- CHF 55–650
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Copenhagen
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- CHF 55–650
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Copenhagen
- Ave. Duration
- 4h 25m
- When
- Saturday
- Estimated price
- CHF 100–490
- Website
- swiss.com
Flights from Oslo Airport, Gardermoen to Geneva International Airport via Zurich Airport
- Ave. Duration
- 5h 15m
- When
- Every day
- Estimated price
- CHF 85–350
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 30m
- When
- Every day
- Estimated price
- CHF 60–240
- Website
- norwegian.com
Flights from Oslo Airport, Gardermoen to Geneva International Airport
- Ave. Duration
- 2h 30m
- When
- Thursday
- Estimated price
- CHF 55–310
Flights from Oslo Airport, Gardermoen to Zurich Airport
- Ave. Duration
- 2h 20m
- When
- Thursday
- Estimated price
- CHF 70–180
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 65–180
- Website
- brusselsairlines.com
Flights from Oslo Airport, Gardermoen to Geneva International Airport via Brussels
- Ave. Duration
- 4h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 60–230
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Brussels
- Ave. Duration
- 5h 30m
- When
- Monday, Tuesday, Friday, and Saturday
- Estimated price
- CHF 55–240
- Website
- ryanair.com
Flights from Sandefjord Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Wednesday, Thursday, Friday, and Saturday
- Estimated price
- CHF 60–300
Flights from Sandefjord Airport to Il Caravaggio International Airport via Wroclaw
- Ave. Duration
- 6h 10m
- When
- Wednesday, Friday, and Saturday
- Estimated price
- CHF 60–300
- Website
- easyjet.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Copenhagen
- Ave. Duration
- 4h 40m
- When
- Monday, Wednesday, Thursday, and Friday
- Estimated price
- CHF 120–460
- Phone
- +47 23 15 90 00
- flytoget@flytoget.no
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 19–22
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 19–22
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 19–22
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 19–22
- Website
- Flytoget AS
- Phone
- +47 61 05 19 10
- tog@vy.no
- Website
- Norwegian Railways (VY)
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 30 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 30 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 30 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 30 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Oslo S to Sandefjord stasjon
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- CHF 9
- Website
- Norwegian Railways (VY)
- Book at
- Norwegian Railways (VY)
Train from Genève-Aéroport to Visp
- Ave. Duration
- 2h 28m
- Frequency
- Hourly
- Estimated price
- CHF 70–120
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Hamburg-Altona to Visp
- Ave. Duration
- 10h 38m
- Frequency
- Once a week
- Estimated price
- CHF 350–600
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Hamburg-Altona to Visp
- Ave. Duration
- 10h 38m
- Frequency
- Once a week
- Estimated price
- CHF 350–600
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Bern to Visp
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 30–55
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Zürich Flughafen to Bern
- Ave. Duration
- 1h 19m
- Frequency
- Hourly
- Estimated price
- CHF 40–70
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Bern to Visp
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 30–55
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +46 40 669 62 00
- snalltaget@snalltaget.se
- Website
- Snälltåget
Train from Oslo S to København H
- Ave. Duration
- 6h 58m
- Frequency
- Once a week
- Estimated price
- CHF 65–180
- Website
- Snälltåget
- Phone
- +47 70 13 14 15
- kundehenv@dsb.dk
- Website
- Danish Railways
Train from Koebenhavn H to Hamburg-Altona
- Ave. Duration
- 4h 26m
- Frequency
- Every 4 hours
- Estimated price
- CHF 36
- Website
- Danish Railways
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Regio (DB Regional)
Train from Kiel Hbf to Hamburg-Altona
- Ave. Duration
- 1h 7m
- Frequency
- Every 4 hours
- Estimated price
- CHF 18–75
- Website
- Deutsche Bahn Regio (DB Regional)
- Phone
- +41 (0)848 642 442
- railcenter@mgbahn.ch
- Website
- Matterhorn Gotthard Bahn
Train from Brig Bahnhofplatz to Zermatt
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Estimated price
- CHF 25–55
- Website
- Matterhorn Gotthard Bahn
- 2nd Class Ticket
- CHF 25–31
- 1st Class Ticket
- CHF 45–55
Train from Brig Bahnhofplatz to Zermatt
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Estimated price
- CHF 25–55
- Website
- Matterhorn Gotthard Bahn
- 2nd Class Ticket
- CHF 25–31
- 1st Class Ticket
- CHF 45–55
Train from Brig Bahnhofplatz to Zermatt
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Estimated price
- CHF 25–55
- Website
- Matterhorn Gotthard Bahn
- 2nd Class Ticket
- CHF 25–31
- 1st Class Ticket
- CHF 45–55
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Brig
- Ave. Duration
- 2h 4m
- Frequency
- Hourly
- Estimated price
- CHF 35–80
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 55–80
- 2nd Class
- CHF 35–50
Train from Milano Centrale to Brig
- Ave. Duration
- 2h 4m
- Frequency
- Hourly
- Estimated price
- CHF 35–80
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 55–80
- 2nd Class
- CHF 35–50
- Phone
- +48 77 443 44 44
- bilety@sindbad.pl
- Website
- Sindbad
Bus from Oslo bussterminal to Słubice
- Ave. Duration
- 21h 50m
- Frequency
- Once a week
- Estimated price
- CHF 100–240
- Website
- Sindbad
Bus from SŁUBICE, Port Świecko, Świecko 39 to BERN, Car - Terminal Neufeld
- Ave. Duration
- 15h
- Frequency
- 5 times a week
- Estimated price
- CHF 80–200
- Website
- Sindbad
- Phone
- +39 0322 844 862
- comazzi@comazzibus.com
- Website
- Comazzi Bus
Bus from Aeroporto Malpensa - Terminal 1 to Domodossola - Stazione Ferroviaria
- Ave. Duration
- 1h 20m
- Frequency
- Every 4 hours
- Estimated price
- CHF 8
- Website
- Comazzi Bus
- customerservices@terravision.eu
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4–21
- Website
- TERRAVISION
- Phone
- 035.319366
- ticket@orioshuttle.com
- Website
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 10–13
- Schedules at
- orioshuttle.com
- Phone
- +45 99 56 19 00
- Website
- Color Line AS
Car ferry from Oslo Vipperangen to Port of Kiel
- Ave. Duration
- 20h
- Frequency
- Once daily
- Estimated price
- CHF 204–416
- Website
- Color Line AS
- Car
- CHF 416
- No Car
- CHF 204
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
















































