The average train between Basel and St. Moritz takes 5h 18m and the fastest train takes 4h 22m. The train service runs several times per day from Basel 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 every 4 hours between Basel and St. Moritz. The earliest departure is at 6:33 AM in the morning, and the last departure from Basel is at 8:33 PM which arrives into St. Moritz at 7:12 AM. All services require a transfer, and take on average 5h 18m. The schedules shown below are for the next available departures.

4h 48m • 1 change

4h 48m • 1 change

4h 25m • 1 change

4h 51m • 1 change

4h 22m • 1 change

4h 22m • 1 change

4h 22m • 1 change

4h 48m • 1 change

4h 22m • 1 change

4h 22m • 1 change

4h 22m • 1 change

4h 48m • 1 change

4h 22m • 1 change

4h 22m • 1 change

4h 22m • 1 change

4h 48m • 1 change

4h 22m • 1 change

4h 22m • 1 change

4h 22m • 1 change

4h 48m • 1 change
Want to know about travelling from Basel 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 Basel to St. Moritz. However, there are services departing from Basel station and arriving at St. Moritz station via Chur. The journey, including transfers, takes approximately 5h 18m.
Basel to St. Moritz train services, operated by SBB GmbH, depart from Basel SBB station.
Basel to St. Moritz train services, operated by SBB GmbH, arrive at St. Moritz station.
Book your Basel to St. Moritz train tickets online with SBB GmbH, Rhätische Bahn and Swiss Federal Railways (SBB CFF FFS).
The distance between Basel and St. Moritz is 208.3 km. The road distance is 285 km.
You can take a train from Basel SBB to St. Moritz via Chur in around 4h 51m.