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 12 / ...
- Take the train from Basel SBB to Churtrain Ic3 / ...
- Take the train from Chur to St. Moritztrain Gex / ...
8h 38mCHF 71–235Bus
cheapest- Take the bus from Heidelberg Post Waypoint to Karlsruhe central train stationbus 198 / ...
- Take the bus from Karlsruhe central train station to Bregenz bus stationbus N77
- Take the bus from Bregenz bus station to Chur train stationbus
- Take the bus from Chur, Postautostation to St. Moritz, Bahnhofbus 182
12h 29mCHF 40–62Night train, train
- Take the nighttrain from Heidelberg Hbf to Zuerich Hbnighttrain Nj
- Take the train from Zürich HB to Churtrain Ice / ...
- Take the train from Chur to St. Moritztrain Gex / ...
8h 36mCHF 88–182Drive 466.3 km
- Drive from Heidelberg to St. Moritzcar 466.3 km
5h 22mCHF 78–112Train
- 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 to St. Gallen(Ch)train Re / ...
- Take the train from St. Gallen to Churtrain
- Take the train from Chur to St. Moritztrain Gex / ...
10h 6mCHF 107–274Train 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 27mCHF 180–405Train 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 37mCHF 166–338
Heidelberg to St. Moritz by train
Comparing Your Travel Options
The cheapest way to get from Heidelberg to St. Moritz is to bus which costs SFr 40 - SFr 65 and takes 12h 29m.
The fastest way to get from Heidelberg to St. Moritz is to drive which takes 5h 22m and costs SFr 75 - SFr 120.
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 29m.
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 38m.
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 38m and costs SFr 70 - SFr 240.
It takes approximately 8h 38m 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 38m and costs SFr 70 - SFr 240. Alternatively, you can bus, which costs SFr 40 - SFr 65 and takes 12h 29m.
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 38m. Alternatively, you can take a bus from Heidelberg Post Waypoint to St. Moritz, Bahnhof via Karlsruhe central train station, Bregenz bus station, Chur train station, and Chur, Postautostation in around 12h 29m.
- Website
- swiss.com
Flights from Stuttgart Airport to Zurich Airport
- Ave. Duration
- 45 min
- When
- Every day
- Estimated price
- CHF 60–340
Flights from Frankfurt to Zurich Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- CHF 75–350
- Website
- lufthansa.com
Flights from Stuttgart Airport to Zurich Airport
- Ave. Duration
- 45 min
- When
- Saturday
- Estimated price
- CHF 60–340
Flights from Frankfurt to Zurich Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- CHF 75–350
- Website
- condor.com
Flights from Frankfurt to Zurich Airport
- Ave. Duration
- 50 min
- When
- Every day
- Estimated price
- CHF 90–200
- Website
- airdolomiti.it
Flights from Frankfurt to Zurich Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- CHF 120–350
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Mannheim, Hauptbahnhof to Basel SBB
- Ave. Duration
- 2h 12m
- Frequency
- Hourly
- Estimated price
- CHF 40–90
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Heidelberg, Hauptbahnhof to Karlsruhe Hauptbahnhof
- Ave. Duration
- 40 min
- Frequency
- 5 times a day
- Estimated price
- CHF 8–19
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Karlsruhe Hauptbahnhof to Konstanz Bahnhof
- Ave. Duration
- 3h 18m
- Frequency
- Once a week
- Estimated price
- CHF 35–85
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Heidelberg, Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 47 min
- Frequency
- Hourly
- Estimated price
- CHF 14–35
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Mannheim, Hauptbahnhof to Frankfurt
- Ave. Duration
- 31 min
- Frequency
- Hourly
- Estimated price
- CHF 11–25
- Website
- Deutsche Bahn Intercity (DB IC)
- Phone
- +31 30 751 5155
- Website
- Nederlandse Spoorwegen (NS)
Train from Mannheim, Hauptbahnhof to Basel SBB
- Ave. Duration
- 2h 50m
- Frequency
- Twice daily
- Estimated price
- CHF 25–50
- Website
- Nederlandse Spoorwegen (NS)
Train from Mannheim, Hauptbahnhof to Frankfurt
- Ave. Duration
- 31 min
- Frequency
- Once daily
- Estimated price
- CHF 7–15
- Website
- Nederlandse Spoorwegen (NS)
Train from Basel SBB to Chur
- Ave. Duration
- 2h 15m
- Frequency
- Every 3 hours
- Estimated price
- CHF 65–95
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Chur to St. Moritz
- Ave. Duration
- 1h 57m
- Frequency
- Once daily
- Estimated price
- CHF 28–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
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 28–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Chur to St. Moritz
- Ave. Duration
- 1h 57m
- Frequency
- Once daily
- Estimated price
- CHF 28–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
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 28–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
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 28–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- SBB GmbH
Train from Basel SBB to Chur
- Ave. Duration
- 2h 15m
- Frequency
- 5 times a day
- Estimated price
- CHF 15–20
- Schedules at
- SBB GmbH
- 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
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
- +43 (0) 51717
- Website
- Nightjet
Night train from Heidelberg Hbf to Zuerich Hb
- Ave. Duration
- 4h 31m
- Frequency
- Twice daily
- Estimated price
- CHF 24–87
- Website
- Nightjet
- Sleeper Carriage
- CHF 85–87
- Couchette Carriage
- CHF 50–65
- Seating Carriage
- CHF 24–29
- 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
Train from St. Gallen to Chur
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- CHF 30–50
- Schedules at
- 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
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
- +49 30 2970
- Website
- Deutsche Bahn Regio (DB Regional)
Train from Heidelberg, Hauptbahnhof to Karlsruhe Hauptbahnhof
- Ave. Duration
- 34 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 7–35
- Website
- Deutsche Bahn Regio (DB Regional)
Train from Karlsruhe Hauptbahnhof to Konstanz Bahnhof
- Ave. Duration
- 3h 7m
- Frequency
- Hourly
- Estimated price
- CHF 35–140
- Website
- Deutsche Bahn Regio (DB Regional)
- Phone
- +43 5 1717
- Website
- Österreichische Bundesbahnen
Train from Heidelberg, Hauptbahnhof to Karlsruhe Hauptbahnhof
- Ave. Duration
- 28 min
- Frequency
- Twice daily
- Estimated price
- CHF 16–24
- Website
- Österreichische Bundesbahnen
- Phone
- +49 6131 4975 022
- kundenservice@dbregiobus-sw.de
- Website
- dbregiobus-mitte.de
Train from Heidelberg, Hauptbahnhof to Karlsruhe Hauptbahnhof
- Ave. Duration
- 1h 3m
- Frequency
- Once a week
- Estimated price
- CHF 11–16
- Schedules at
- dbregiobus-mitte.de
- Phone
- +41 71 554 00 00
- Website
- Thurbo
Train from Konstanz to St. Gallen(Ch)
- Ave. Duration
- 35 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 6–13
- Schedules at
- Thurbo
- 2nd Class Ticket
- CHF 6–8
- 1st Class Ticket
- CHF 10–13
- Phone
- +49 731 1550-0
- servicecenter@dbregiobus-rab.de
- Website
- DB ZugBus Regionalverkehr Alb-Bodensee GmbH (RAB)
Train from Heidelberg, Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 2h 6m
- Frequency
- Once a week
- Estimated price
- CHF 12–15
- Schedules at
- DB ZugBus Regionalverkehr Alb-Bodensee GmbH (RAB)
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Heidelberg Post Waypoint to Karlsruhe central train station
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- CHF 4–7
- Website
- Flixbus
Bus from Karlsruhe central train station to Bregenz bus station
- Ave. Duration
- 4h 20m
- Frequency
- Once daily
- Estimated price
- CHF 22–35
- Website
- Flixbus
Bus from Bregenz bus station to Chur train station
- Ave. Duration
- 1h 50m
- Frequency
- Twice daily
- Estimated price
- CHF 7–11
- 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
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
Booking & Getting There
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.
Book your Heidelberg to St. Moritz train tickets online with Omio.
There are 2296+ hotels available in St. Moritz.






















































