Travelling from Milan to St. Moritz by train

Want to know how to get from Milan to St. Moritz by train? We have gathered for you all the useful information about this trip!

The fastest trains from Milan to St. Moritz take around 5 hours and 5 minutes, covering a distance of approximately 125 kilometres.

On weekdays, the first train leaving Milan is scheduled to depart at around  05:50. The last departure is usually at around 19:20. This is the same as during the weekend. There are frequent services on this particular rail route. On average, there are about 15 trains per day travelling between the two cities. They leave approximately every 35 minutes.

Prices for a single ticket between the two cities start from US$15.20.

We think any time is a great time to visit St. Moritz, as each season has its own unique charm. Nevertheless, please make sure you check the local weather and average seasonal temperatures at destination before deciding on your holiday.

For more tips to help you plan your journey, check out our help articles, or read our guide to St. Moritz.

Is there a direct train from Milan to St. Moritz?

The journey between Milan and St. Moritz usually involves one change of train.

We usually find at least one departure on the route from Milan to St. Moritz every weekday that leave enough time to change trains without waiting around for longer than necessary.

Trains usually run with a similar frequency on weekends.

How long does it take to travel from Milan to St. Moritz?

The Milan to St. Moritz train travel takes about 5 hours and 5 minutes, no matter when you leave.

What are the Milan to St. Moritz train times and schedule?

If you're travelling on a weekday, you'll find the earliest train to St. Moritz leaving Milan at around 05:50 and the last train leaving at around 19:20. This is the same at the weekend.