Milan to St. Moritz: Train, Car or Private Transfer.

St. Moritz is about 180 km from Milan, across the Swiss border. The train takes about six hours with a change in Tirano; the car crosses the Maloja Pass in about three. Here is the real comparison, updated July 2026.

Milan → St. Moritz: the comparison

OptionPriceDurationWhere it takes you
Train via Tirano (regional + Rhaetian Railway)€12.50 + CHF 33 per person5h 30min - 6h 30minSt. Moritz station, then a taxi
Bernina Express (panoramic, same line)CHF 32 supplement on the fareabout 6hSt. Moritz station, reserved seats
Direct busdoes not exist--
Private transferfixed price per vehicleabout 3hYour hotel door in the Engadine

By train via Tirano

From Milano Centrale the regional train to Tirano takes about 2.5 hours (€12.50). In Tirano you cross the square: the Rhaetian Railway station is right opposite, and the Bernina train climbs to St. Moritz in about 2h15 (CHF 33), roughly hourly. With the change and connections, the real journey is 5.5 to 6.5 hours.

The Bernina Express

Same tracks, panoramic carriages and reserved seats: the Tirano to St. Moritz supplement costs CHF 32, almost as much as the ticket itself. A UNESCO-listed, genuinely beautiful ride, but still a six-hour journey with a change: perfect as an experience, less so as logistics with skis and luggage.

By car: the Maloja Pass

The classic road climbs from Como or Lecco to Chiavenna and crosses the Maloja Pass: about 180 km and 3 hours, with no Swiss motorway stretch, so no vignette is needed. The pass is open all year with winter equipment; after heavy snowfall it can close for a few hours.

With a private transfer

The car picks you up at your Milan address, or straight at the airport, and drops you at your hotel door in the Engadine: about 3 hours, winter tyres, skis and luggage loaded at departure. Fixed per-vehicle price, pay on arrival.

See the Milan → St. Moritz transfer

And from Malpensa to St. Moritz?

There is no direct rail link from Malpensa: by train you must go back into Milan and start again, which pushes past 6.5 hours. By car the terminal is about 180 km from St. Moritz, just under 3 hours via Como and the Maloja. A private transfer meets you in arrivals with a name sign and takes you to the hotel, from Malpensa as well as Linate and Bergamo.

The train: when it genuinely makes sense

If you travel light and the journey is part of the holiday, the Bernina is one of the most beautiful railways in the world and the fare stays honest. The maths change with skis and luggage, in a group or on a tight schedule: six hours with a change against three door to door, and at the other end the station is not your hotel.

Why a private transfer

A car and driver from your address to your hotel door in the Engadine.

  • Fixed per-vehicle price, locked at booking
  • About 3 hours door to door, half the train time
  • Winter tyres and room for skis and luggage
  • Also from Malpensa, Linate and Bergamo with an arrivals welcome
  • The whole upper Engadine: Sils, Silvaplana, Celerina, Pontresina

The Engadine starts at your door

No connections to juggle: get in the car in Milan, step out in front of your hotel in St. Moritz.

The Engadine starts at your door

Frequently asked questions

About 180 km on the Maloja Pass road via Como and Chiavenna: around 3 hours by car, a little more in winter snow.
Regional train from Milano Centrale to Tirano (about 2.5 hours, €12.50), then the Rhaetian Railway from Tirano to St. Moritz (about 2h15, CHF 33), roughly hourly. In total, 5.5 to 6.5 hours.
No: the classic route via Chiavenna and the Maloja Pass has no Swiss motorway stretch, so no vignette is needed. You do need winter tyres in the cold months.
No, a direct bus link does not exist: the multi-change combinations via Lugano or Chiavenna are not a practical alternative.
The price is fixed per vehicle: you see it instantly by entering pickup and destination in the booking form, before confirming. No meter, and it works from Malpensa, Linate and Bergamo too.
Yes, all year round, with winter tyres and chains when needed. After heavy snowfall it can close for a few hours: in those cases we go via the Valtellina and the Bernina Pass, about an hour longer.

Book your private transfer

Enter pickup and destination, see the fixed price for every vehicle and confirm in 2 minutes.