There are 9 ways to get from Oslo to St. Moritz by train, plane, bus, car ferry, car, or car train
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 Zurich Airport
best- 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 HB to Churtrain
- Take the train from Chur to St. Moritztrain
9h 1mCHF 146–336Train, fly to Milano Malpensa Airport, bus
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 Malpensa Aeroporto T1 to Milano Centraletrain
- Take the train from Milano Centrale to Colicotrain
- Take the bus from Chiavenna, Stazione to St. Moritz, Bahnhofbus
11h 56mCHF 74–236Train
- 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 Churtrain Ice
- Take the train from Chur to St. Moritztrain Gex / ...
27h 5mCHF 448–633Bus
- Take the bus from Oslo bussterminal to Praha, ÚAN Florencbus
- Take the bus from Prague to Chur train stationbus
- Take the bus from Chur, Postautostation to St. Moritz, Bahnhofbus 182
35h 5mCHF 172–258Car 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 Churtrain Ice
- Take the train from Chur to St. Moritztrain Gex / ...
37h 1mCHF 553–942Train, fly to Milan Linate Airport, bus
- 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 Monza to Colicotrain
- Take the bus from Chiavenna, Stazione to St. Moritz, Bahnhofbus
13h 4mCHF 126–283Bus, train
- Take the bus from Oslo Bussterminal to Malmö C Norra Vallgatanbus 676 / ...
- Take the train from Malmö C to Innsbruck Hbftrain 083
- Take the train from Innsbruck Hauptbahnhof to Landeck-Zamstrain Rjx / ...
- Take the bus from Landeck-Zams Bahnhof to Mals Bahnhofbus 273
- Take the bus from Malles - Stazione to Zernez, staziunbus 811
35h 28mDrive 2,028.8 km
- Drive from Oslo to St. Moritzcar 2,028.8 km
19h 2mCHF 455–658Drive, car train
- Drive from Oslo to Hamburg Hbfcar
- Take the cartrain from Hamburg Hbf to Augsburg Hbfcartrain
- Drive from Augsburg Hbf to St. Moritzcar
23h 28mCHF 383–539
Oslo to St. Moritz by train
Comparing Your Travel Options
The cheapest way to get from Oslo to St. Moritz is to train and fly and bus which costs SFr 70 - SFr 240 and takes 11h 56m.
The fastest way to get from Oslo to St. Moritz is to train and fly which takes 9h 1m and costs SFr 140 - SFr 340.
No, there is no direct bus from Oslo to St. Moritz. However, there are services departing from Oslo bussterminal and arriving at St. Moritz, Bahnhof via Prague and Chur, Postautostation. The journey, including transfers, takes approximately 35h 5m.
No, there is no direct train from Oslo to St. Moritz. However, there are services departing from Oslo S and arriving at St. Moritz via Koebenhavn H, Hamburg-Altona and Chur. The journey, including transfers, takes approximately 27h 5m.
The distance between Oslo and St. Moritz is 1682 km. The road distance is 2028.8 km.
The best way to get from Oslo to St. Moritz without a car is to train which takes 27h 5m and costs SFr 440 - SFr 650.
It takes approximately 9h 1m to get from Oslo to St. Moritz, including transfers.
Oslo to St. Moritz bus services, operated by FlixBus, depart from Oslo bussterminal station.
Oslo to St. Moritz train services, operated by Snälltåget, depart from Oslo S station.
The best way to get from Oslo to St. Moritz is to train which takes 27h 5m and costs SFr 440 - SFr 650. Alternatively, you can bus, which costs SFr 170 - SFr 260 and takes 35h 5m.
What companies run services between Oslo, Norway and St. Moritz, Switzerland?
You can take a train from Oslo S to St. Moritz via København H, Koebenhavn H, Hamburg-Altona, and Chur in around 27h 5m. Alternatively, you can take a bus from Oslo bussterminal to St. Moritz, Bahnhof via Prague, Chur train station, and Chur, Postautostation in around 35h 5m.
- Website
- lufthansa.com
Flights from Oslo Airport, Gardermoen to Zurich Airport via Frankfurt
- Ave. Duration
- 4h 43m
- When
- Every day
- Estimated price
- CHF 75–280
Flights from Oslo Airport, Gardermoen to Zurich Airport via Munich
- Ave. Duration
- 4h 35m
- 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–310
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Munich
- Ave. Duration
- 7h
- When
- Every day
- Estimated price
- CHF 85–310
- Website
- flysas.com
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
- Sunday
- Estimated price
- CHF 55–210
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Copenhagen
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- CHF 55–210
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Copenhagen
- Ave. Duration
- 5h 15m
- When
- Sunday
- Estimated price
- CHF 70–280
- Website
- norwegian.com
Flights from Oslo Airport, Gardermoen to Zurich Airport
- Ave. Duration
- 2h 20m
- When
- Friday
- Estimated price
- CHF 65–170
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 55–130
- Website
- swiss.com
Flights from Oslo Airport, Gardermoen to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- CHF 60–260
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
- brusselsairlines.com
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–250
- Website
- easyjet.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Copenhagen
- Ave. Duration
- 4h 40m
- When
- Monday to Friday
- Estimated price
- CHF 50–220
- 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–21
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 19–21
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 19–21
- 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 Zürich HB to Chur
- Ave. Duration
- 1h 15m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 35–55
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Chur to St. Moritz
- Ave. Duration
- 1h 57m
- Frequency
- Once daily
- Estimated price
- CHF 25–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Hamburg-Altona to Chur
- Ave. Duration
- 10h 56m
- Frequency
- 4 times a week
- Estimated price
- CHF 310–480
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Chur to St. Moritz
- Ave. Duration
- 1h 57m
- Frequency
- Once daily
- Estimated price
- CHF 25–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Hamburg-Altona to Chur
- Ave. Duration
- 10h 56m
- Frequency
- 4 times a week
- Estimated price
- CHF 310–480
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Chur to St. Moritz
- Ave. Duration
- 1h 57m
- Frequency
- Once daily
- Estimated price
- CHF 25–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +41 58 580 70 70
- Website
- Schweizerische Südostbahn AG
Train from Zürich HB to Chur
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- CHF 35–55
- Schedules at
- Schweizerische Südostbahn AG
- Phone
- +41 81 288 65 65
- railservice@rhb.ch
- Website
- Rhätische Bahn
Train from Chur to St. Moritz
- Ave. Duration
- 1h 57m
- Frequency
- Hourly
- Website
- Rhätische Bahn
Train from Chur to St. Moritz
- Ave. Duration
- 1h 57m
- Frequency
- Hourly
- Website
- Rhätische Bahn
Train from Chur to St. Moritz
- Ave. Duration
- 1h 57m
- Frequency
- Hourly
- Website
- Rhätische Bahn
- 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 78
- Website
- Snälltåget
Train from Malmö C to Innsbruck Hbf
- Ave. Duration
- 20h 50m
- Frequency
- Once a week
- Estimated price
- CHF 191
- 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 35m
- 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 10–15
- Website
- Deutsche Bahn Regio (DB Regional)
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Centrale
- Ave. Duration
- 56 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4–5
- Website
- Trenord
Train from Milano Centrale to Colico
- Ave. Duration
- 1h 26m
- Frequency
- Hourly
- Estimated price
- CHF 6–8
- Website
- Trenord
Train from Monza to Colico
- Ave. Duration
- 1h 14m
- Frequency
- Hourly
- Estimated price
- CHF 4–5
- Website
- Trenord
- Phone
- _AUSTRIAN_RAILWAYS_(ÖBB)
- Website
- Austrian Railways
Train from Innsbruck Hauptbahnhof to Landeck-Zams
- Ave. Duration
- 1h 2m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 11–20
- Website
- Austrian Railways
- Phone
- +43 1 89900
- service@westbahn.at
- Website
- Westbahn
Train from Innsbruck Hauptbahnhof to Landeck-Zams
- Ave. Duration
- 46 min
- Frequency
- Every 4 hours
- Estimated price
- CHF 13–21
- Website
- Westbahn
- Phone
- +43 (0) 5 1717
- Website
- ÖBB Intercity
Train from Innsbruck Hauptbahnhof to Landeck-Zams
- Ave. Duration
- 45 min
- Frequency
- Every 4 hours
- Estimated price
- CHF 7–13
- Website
- ÖBB Intercity
- Website
- ÖBB Intercity
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Innsbruck Hauptbahnhof to Landeck-Zams
- Ave. Duration
- 47 min
- Frequency
- 3 times a day
- Estimated price
- CHF 10–21
- Website
- Deutsche Bahn Intercity (DB IC)
- Phone
- +43 (0) 5 1717
- Website
- ÖBB EuroCity
Train from Innsbruck Hauptbahnhof to Landeck-Zams
- Ave. Duration
- 45 min
- Frequency
- Twice daily
- Estimated price
- CHF 17
- Website
- ÖBB EuroCity
- Website
- ÖBB EuroCity
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- Urlaubs-Express (UEX)
Car train from Hamburg Hbf to Augsburg Hbf
- Ave. Duration
- 9h 1m
- Frequency
- Twice a week
- Estimated price
- CHF 90–110
- Website
- Urlaubs-Express (UEX)
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Oslo bussterminal to Praha, ÚAN Florenc
- Ave. Duration
- 21h 25m
- Frequency
- 4 times a week
- Estimated price
- CHF 110–170
- Website
- Flixbus
Bus from Prague to Chur train station
- Ave. Duration
- 9h 5m
- Frequency
- Once daily
- Estimated price
- CHF 50–80
- Website
- Flixbus
- Phone
- +41 (0)848 818 818
- info@postauto.ch
- Website
- PostAuto AG
Bus from Chur, Postautostation to St. Moritz, Bahnhof
- Ave. Duration
- 2h 35m
- Frequency
- Twice daily
- Estimated price
- CHF 7–10
- Website
- PostAuto AG
Bus from Chiavenna, Stazione to St. Moritz, Bahnhof
- Ave. Duration
- 1h 38m
- Frequency
- Hourly
- Estimated price
- CHF 5–8
- Website
- PostAuto AG
Bus from Chiavenna, Stazione to St. Moritz, Bahnhof
- Ave. Duration
- 1h 38m
- Frequency
- Hourly
- Estimated price
- CHF 5–8
- Website
- PostAuto AG
Bus from Malles - Stazione to Zernez, staziun
- Ave. Duration
- 1h 34m
- Frequency
- Hourly
- Estimated price
- CHF 5–8
- Website
- PostAuto AG
- Phone
- +47 407 05070
- buss@vy.no
- Website
- Vy Buss
Bus from Oslo Bussterminal to Malmö C Norra Vallgatan
- Ave. Duration
- 7h 10m
- Frequency
- 5 times a day
- Estimated price
- CHF 120–220
- Website
- Vy Buss
- Phone
- +43 664 384 1360
- info@tlbus.at
- Website
- tlbus.at
Bus from Landeck-Zams Bahnhof to Mals Bahnhof
- Ave. Duration
- 1h 35m
- Frequency
- Hourly
- Schedules at
- tlbus.at
- Phone
- +39 0471 220 880
- contact@suedtirolmobil.info
- Website
- Sudtirol Alto Adige
Bus from Malles - Stazione to Zernez, staziun
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Website
- Sudtirol Alto Adige
- 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 208–408
- Website
- Color Line AS
- Car
- CHF 408
- No Car
- CHF 208
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
Want to know more about Flixbus?
Read the travel guide
Booking & Getting There
Oslo to St. Moritz bus services, operated by FlixBus, arrive at Praha, ÚAN Florenc station.
Oslo to St. Moritz train services, operated by Snälltåget, arrive at København H station.
Yes, the driving distance between Oslo to St. Moritz is 2029 km. It takes approximately 19h 2m to drive from Oslo to St. Moritz.
Book your Oslo to St. Moritz train tickets online with Omio.
There are 2298+ hotels available in St. Moritz.











































































