The average train between Sankt Niklaus and St. Moritz takes 7h 15m and the fastest train takes 6h 8m. There is a train service every few hours from Sankt Niklaus to St. Moritz. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Sankt Niklaus and St. Moritz. The earliest departure is at 6:47 AM in the morning, and the last departure from Sankt Niklaus is at 10:47 PM which arrives into St. Moritz at 10:55 AM. All services require a transfer at Visp and take an average of 7h 15m. The schedules shown below are for the next available departures.




6h 8m • 4 changes



6h 41m • 4 changesArrives next day




11h 25m • 4 changesArrives next day




11h 8m • 4 changes



6h 8m • 4 changes



6h 38m • 4 changes



6h 8m • 4 changes



6h 38m • 4 changes



6h 8m • 4 changes



6h 38m • 4 changes



6h 8m • 4 changes



6h 38m • 4 changes



6h 8m • 4 changes



6h 38m • 4 changes



6h 8m • 4 changes



6h 38m • 4 changesWant to know about travelling from Sankt Niklaus to St. Moritz? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Sankt Niklaus to St. Moritz. However, there are services departing from Sankt Niklaus station and arriving at St. Moritz station via Bern. The journey, including transfers, takes approximately 7h 15m.
Sankt Niklaus to St. Moritz train services, operated by Matterhorn Gotthard Bahn, depart from Visp station.
Sankt Niklaus to St. Moritz train services, operated by Matterhorn Gotthard Bahn, arrive at St. Moritz station.
Book your Sankt Niklaus to St. Moritz train tickets online with Matterhorn Gotthard Bahn, Swiss Federal Railways (SBB CFF FFS) and 2 other operators.
The distance between Sankt Niklaus and St. Moritz is 160.4 km. The road distance is 424 km.
You can take a train from St. Niklaus VS to St. Moritz via Visp, Bern, Zürich HB, and Chur in around 7h 15m.