Bernina Express from Milan to Zurich

How the Milan–Zurich scenic route works
The classic way is: regional train Milan → Tirano, the Bernina Express Tirano → Chur (via St. Moritz), then a direct fast train Chur → Zurich (about 1h15). Done in one long day it is tiring; most people break it with a night in St. Moritz or Chur to enjoy the Alps properly.
What about the day trips?
The organised day trips from Milan turn around at St. Moritz and bring you back to Milan, so they do not continue to Zurich. If Zurich is your goal, treat the Bernina Express as the scenic first stage of a longer journey and book onward Swiss trains separately.
Start with the panoramic leg
Most bookedFrom Milan: Bernina Train and St. Moritz Day Trip
Guided classicMilan to St. Moritz: Scenic Bernina Train Tour with Guide
Best valueFrom Milan to the Swiss Alps: Bernina Red Train & St. Moritz
Book it from Milan
Ride the panoramic Bernina Express first — a day trip covers the scenic Tirano–St. Moritz stretch, and you can add onward Swiss trains to Zurich yourself.
See Milan to Chur (the onward hub for Zurich) or the Milan to Switzerland overview.
Frequently asked questions
Does the Bernina Express go from Milan to Zurich?
Not as one train. The Bernina Express runs Tirano–St. Moritz–Chur; from Chur a fast train reaches Zurich in about 1h15. From Milan you first take a regional train to Tirano.
How do you book Bernina Express from Milan to Zurich?
Book the scenic Tirano–Chur (or St. Moritz) leg with a reserved seat, plus the Milan–Tirano and Chur–Zurich trains. A day trip covers the scenic stretch; onward Swiss trains are booked separately.
How long is Milan to Zurich via the Bernina Express?
As a scenic route it is a full day or better split over two — roughly 2h20 Milan–Tirano, about 4 hours Tirano–Chur on the panoramic train, then 1h15 Chur–Zurich.