Lake St. Moritz with the town and mountains behind

Hotels in St. Moritz: Dorf, Bad or Celerina?

St. Moritz is a famous Alpine resort town in the Engadin valley of eastern Switzerland. It has a lake, high-altitude light and a mostly upscale reputation.

Photo: Maria Feofilova, CC BY-SA 4.0

By HotelMountains editors · Updated

St. Moritz sits above its lake at around 1,800 meters in the Upper Engadin. It has long been a winter sports capital, and summer brings hiking, lake walks and cycling.

Our top pick: Bernina Express and St. Moritz from Milan

Where to stay in St. Moritz

  • St. Moritz Dorf: the upper town with the best-known hotels, shops and views over the lake. The priciest part.
  • St. Moritz Bad: at the south end of the lake, more affordable and close to the Corviglia and Corvatsch lifts by bus.
  • Celerina and Pontresina: nearby villages with a calmer feel and good access to trails and trains.

Most popularSt. MoritzPremiumLake and villageSkiing, summer walksRead guide

Use the trains: Swiss passes and local transport make it easy to stay in a cheaper village and still reach the lifts.

Check hotel prices in St. Moritz

Scenic rail

The Bernina Express runs between Chur or St. Moritz and Tirano in Italy, crossing high passes and glaciers. The UNESCO-listed Rhaetian Railway line is popular as a day trip, including from Milan.

Day trips by train

Popular

Bernina Express and St. Moritz from Milan

A full-day rail tour via Tirano. 4.6/5 from over 5,000 reviews.

Check availability

Bernina Train Day Trip to St. Moritz

A scenic day trip from Milan. 4.8/5 from over 1,500 reviews.

Check availability

Bernina Red Train Ticket from Tirano

Train ticket to St. Moritz. 4.3/5 from over 370 reviews.

Check availability

Why book online

  • Free cancellation on most tickets, usually up to 24 hours before
  • Reserved time slot: no queue at the ticket desk
  • Mobile ticket on your phone
  • Reviews from verified travelers

Frequently asked questions

Where should I stay in St. Moritz?

St. Moritz Dorf is the upper village with shops and grand hotels. St. Moritz Bad is by the lake and more affordable. Celerina and Pontresina are quiet and often cheaper.

Is St. Moritz expensive?

It is one of the pricier Swiss destinations, especially at Christmas and in February. Summer, shoulder seasons and nearby villages offer better value.

How do you get to St. Moritz?

By train from Zurich via Chur in about 3.5 hours, or from Italy by the Bernina line from Tirano. The nearest major airport is Zurich, with Milan also used.

Some links are affiliate links: if you book through them we earn a small commission at no extra cost to you. It funds the research behind this site.