There are 7 ways to get from Heidelberg to St. Moritz by train, bus, night train, car, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train via Basel
best- Take the train from Mannheim, Hauptbahnhof to Basel SBBtrain 20 / ...
- Take the train from Basel SBB to Churtrain Ic3 / ...
- Take the train from Chur to St. Moritztrain Gex / ...
8h 56mCHF 78–285Bus
cheapest- Take the bus from Heidelberg Post Waypoint to Karlsruhe central train stationbus 108 / ...
- Take the bus from Karlsruhe central train station to Bregenz bus stationbus N77
- Take the bus from Bregenz bus station to Chur station train stationbus 076
- Take the bus from Chur, Postautostation to St. Moritz, Bahnhofbus 182
12h 49mCHF 42–60Night train, train
- Take the night train from Heidelberg Hbf to Zuerich Hbnighttrain Nj
- Take the train from Zürich HB to Churtrain Ic3 / ...
- Take the train from Chur to St. Moritztrain Gex / ...
8h 35mCHF 94–347Drive 466.3 km
- Drive from Heidelberg to St. Moritzcar 466.3 km
5h 22mCHF 76–109Train
- Take the train from Heidelberg, Hauptbahnhof to Karlsruhe Hauptbahnhoftrain S3 / ...
- Take the train from Karlsruhe Hauptbahnhof to Konstanz Bahnhoftrain Re2
- Take the train from Konstanz Bahnhof to St. Gallentrain 1 / ...
- Take the train from St. Gallen to Churtrain
- Take the train from Chur to St. Moritztrain Gex / ...
10h 22mTrain to Frankfurt, fly, train
- Take the train from Mannheim, Hauptbahnhof to Frankfurttrain
- Fly from Frankfurt (FRA) to Zurich Airport (ZRH)plane FRA - ZRH
- Take the train from Zürich HB to Churtrain
- Take the train from Chur to St. Moritztrain
7h 30mCHF 138–348Train to Stuttgart Airport, fly, train
- Take the train from Heidelberg, Hauptbahnhof to Hauptbahnhoftrain
- Fly from Stuttgart Airport (STR) to Zurich Airport (ZRH)plane STR - ZRH
- Take the train from Zürich HB to Churtrain
- Take the train from Chur to St. Moritztrain
7h 19mCHF 180–388
Heidelberg to St. Moritz by train
Questions & Answers
The cheapest way to get from Heidelberg to St. Moritz is to bus which costs SFr 40 - SFr 60 and takes 12h 49m.
The fastest way to get from Heidelberg to St. Moritz is to drive which takes 5h 22m and costs SFr 75 - SFr 110.
No, there is no direct bus from Heidelberg to St. Moritz. However, there are services departing from Heidelberg Post Waypoint and arriving at St. Moritz, Bahnhof via Karlsruhe central train station, Bregenz bus station and Chur, Postautostation. The journey, including transfers, takes approximately 12h 49m.
No, there is no direct train from Heidelberg to St. Moritz. However, there are services departing from Heidelberg, Hauptbahnhof and arriving at St. Moritz via Mannheim, Hauptbahnhof, Basel SBB and Chur. The journey, including transfers, takes approximately 8h 56m.
The distance between Heidelberg and St. Moritz is 556 km. The road distance is 466.3 km.
The best way to get from Heidelberg to St. Moritz without a car is to train via Basel which takes 8h 56m and costs SFr 75 - SFr 290.
It takes approximately 8h 56m to get from Heidelberg to St. Moritz, including transfers.
Heidelberg to St. Moritz bus services, operated by FlixBus, depart from Heidelberg Post Waypoint station.
Heidelberg to St. Moritz train services, operated by Deutsche Bahn Intercity (DB IC), depart from Mannheim, Hauptbahnhof station.
The best way to get from Heidelberg to St. Moritz is to train via Basel which takes 8h 56m and costs SFr 75 - SFr 290. Alternatively, you can bus, which costs SFr 40 - SFr 60 and takes 12h 49m.
What companies run services between Heidelberg, Germany and St. Moritz, Switzerland?
You can take a train from Heidelberg, Hauptbahnhof to St. Moritz via Mannheim, Hauptbahnhof, Basel SBB, and Chur in around 8h 56m. Alternatively, you can take a bus from Heidelberg Post Waypoint to St. Moritz, Bahnhof via Karlsruhe central train station, Bregenz bus station, Chur station train station, and Chur, Postautostation in around 12h 49m.
- Website
- swiss.com
Flights from Frankfurt to Zurich Airport
- Ave. Duration
- 56 min
- When
- Every day
- Estimated price
- CHF 65–270
Flights from Stuttgart Airport to Zurich Airport
- Ave. Duration
- 45 min
- When
- Every day
- Estimated price
- CHF 70–160
- Website
- lufthansa.com
Flights from Frankfurt to Zurich Airport
- Ave. Duration
- 56 min
- When
- Every day
- Estimated price
- CHF 65–270
- Website
- condor.com
Flights from Frankfurt to Zurich Airport
- Ave. Duration
- 50 min
- When
- Every day
- Estimated price
- CHF 65–180
- Website
- airdolomiti.it
Flights from Frankfurt to Zurich Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- CHF 85–270
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Mannheim, Hauptbahnhof to Basel SBB
- Ave. Duration
- 2h 21m
- Frequency
- Hourly
- Estimated price
- CHF 27–75
- Website
- https://int.bahn.de/en
Train from Heidelberg, Hauptbahnhof to Karlsruhe Hauptbahnhof
- Ave. Duration
- 28 min
- Frequency
- Every 4 hours
- Estimated price
- CHF 16–27
- Website
- https://int.bahn.de/en
Train from Mannheim, Hauptbahnhof to Frankfurt
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Estimated price
- CHF 6–27
- Website
- https://int.bahn.de/en
Train from Heidelberg, Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 39 min
- Frequency
- Hourly
- Estimated price
- CHF 16–45
- Website
- https://int.bahn.de/en
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Mannheim, Hauptbahnhof to Basel SBB
- Ave. Duration
- 2h 50m
- Frequency
- Once daily
- Estimated price
- CHF 35–130
- Website
- https://www.ns.nl/en
- 2nd Class
- CHF 35–55
- 1st Class
- CHF 75–130
Train from Mannheim, Hauptbahnhof to Frankfurt
- Ave. Duration
- 31 min
- Frequency
- Once daily
- Estimated price
- CHF 12–35
- Website
- https://www.ns.nl/en
- 2nd Class
- CHF 12–18
- 1st Class
- CHF 21–35
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Basel SBB to Chur
- Ave. Duration
- 2h 19m
- Frequency
- Every 3 hours
- Estimated price
- CHF 40–75
- Website
- https://www.sbb.ch/en
Train from Chur to St. Moritz
- Ave. Duration
- 1h 55m
- Frequency
- Once daily
- Estimated price
- CHF 35–60
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Chur
- Ave. Duration
- 1h 14m
- Frequency
- Hourly
- Estimated price
- CHF 23–45
- Website
- https://www.sbb.ch/en
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Basel SBB to Chur
- Ave. Duration
- 2h 15m
- Frequency
- 4 times a day
- Estimated price
- CHF 15–20
- Schedules at
- sbb-deutschland.de
- Phone
- +41 81 288 65 65
- Website
- rhb.ch
Train from Chur to St. Moritz
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Website
- https://www.rhb.ch/en/
- Phone
- +43 51717
- Website
- nightjet.com
Night train from Heidelberg Hbf to Zuerich Hb
- Ave. Duration
- 4h 31m
- Frequency
- Once daily
- Estimated price
- CHF 35–243
- Website
- https://www.nightjet.com/en/#/home
- Sleeper Carriage
- CHF 241–243
- Couchette Carriage
- CHF 120–140
- Seating Carriage
- CHF 35–45
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Zürich HB to Chur
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Schedules at
- sob.ch
Train from St. Gallen to Chur
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Schedules at
- sob.ch
- Phone
- +49 30 2970
- Website
- bahn.de
Train from Heidelberg, Hauptbahnhof to Karlsruhe Hauptbahnhof
- Ave. Duration
- 48 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 11–16
- Website
- https://int.bahn.de/en
Train from Karlsruhe Hauptbahnhof to Konstanz Bahnhof
- Ave. Duration
- 3h 7m
- Frequency
- Hourly
- Estimated price
- CHF 30–45
- Website
- https://int.bahn.de/en
- Phone
- +49 30 300 137 300
- info@flixbus.de
- Website
- flixtrain.de
Train from Heidelberg, Hauptbahnhof to Karlsruhe Hauptbahnhof
- Ave. Duration
- 27 min
- Frequency
- Twice daily
- Estimated price
- CHF 3–8
- Website
- https://www.flixtrain.com/
- Phone
- +43 5 1717
- Website
- konzern.oebb.at
Train from Heidelberg, Hauptbahnhof to Karlsruhe Hauptbahnhof
- Ave. Duration
- 28 min
- Frequency
- Once daily
- Estimated price
- CHF 16–24
- Website
- https://konzern.oebb.at/en/
- Phone
- +41 71 554 00 00
- Website
- thurbo.ch
Train from Konstanz Bahnhof to St. Gallen
- Ave. Duration
- 35 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 6–13
- Schedules at
- thurbo.ch
- 2nd Class Ticket
- CHF 6–8
- 1st Class Ticket
- CHF 10–13
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Heidelberg Post Waypoint to Karlsruhe central train station
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- CHF 6–9
- Website
- https://www.flixbus.co.uk
Bus from Karlsruhe central train station to Bregenz bus station
- Ave. Duration
- 4h 25m
- Frequency
- Once daily
- Estimated price
- CHF 21–30
- Website
- https://www.flixbus.co.uk
Bus from Bregenz bus station to Chur station train station
- Ave. Duration
- 2h 5m
- Frequency
- Once daily
- Estimated price
- CHF 7–11
- Website
- https://www.flixbus.co.uk
- Phone
- +41 (0)848 818 818
- info@postauto.ch
- Website
- postauto.ch
Bus from Chur, Postautostation to St. Moritz, Bahnhof
- Ave. Duration
- 2h 35m
- Frequency
- Once daily
- Estimated price
- CHF 7–10
- Website
- https://www.postauto.ch
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
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
More Questions & Answers
Heidelberg to St. Moritz bus services, operated by FlixBus, arrive at Karlsruhe central train station.
Heidelberg to St. Moritz train services, operated by Deutsche Bahn Intercity (DB IC), arrive at Basel SBB station.
Yes, the driving distance between Heidelberg to St. Moritz is 466 km. It takes approximately 5h 22m to drive from Heidelberg to St. Moritz.
There are 2097+ hotels available in St. Moritz.

























































