Quick answer

Direct EuroCity trains run from Milano Centrale to Zürich HB in 3h17, about a dozen times a day. Book a few weeks ahead on Trenitalia or SBB: the cheapest second-class fare was €33.50 five weeks out against €96 for the next day. The seat reservation is compulsory and already included in the price.

Prices and timetables below were checked on 5 October 2026 on the official Trenitalia booking engine, SBB’s route page and the Swiss timetable data. Fares change every day, so treat them as a guide to what you will see when you search.

How long the train from Milan to Zurich takes

The direct trains are EuroCity (EC) trains, run jointly by the Swiss railways (SBB) and Trenitalia using Giruno and ETR 610 rolling stock. Every direct train takes 3 hours 17 minutes from Milano Centrale to Zürich HB, Zurich’s main station.

Red and white SBB Giruno high-speed train at a platform in Zurich main station
Photo: JoachimKohler-HB, CC BY-SA 4.0

An SBB Giruno, one of the train types on the Milan to Zurich EuroCity, at Zürich HB.

The route runs north past Como, crosses the border at Chiasso and stops at Lugano, Bellinzona, Arth-Goldau and Zug. Between Bellinzona and Arth-Goldau the train goes through the 57 km Gotthard Base Tunnel, the longest rail tunnel in the world.

Option Journey time Trains per day Changes
EuroCity (direct) 3h17 About 12 None
Regional to Lugano, then SBB InterCity About 3h11 Hourly 1 or 2

How many direct trains a day

On Tuesday 6 October and Tuesday 10 November 2026, Trenitalia sold 11 direct EuroCity trains from Milan to Zurich: at 7:10, 8:10, 9:10 and 11:10am, then 1:10, 3:10, 4:10, 5:10, 6:10, 7:10 and 8:10pm. Each one arrives at 27 minutes past the hour.

SBB’s own page says there are 14 direct trains a day from Zurich to Milan, with the first at 6:33am and the last at 7:33pm. SBB has also announced one fewer EuroCity per direction on weekdays on some Switzerland to Milan routes until 2028 because of engineering work. The number for your date may differ, so look at the timetable before you plan around a specific train.

If a search result shows a change in Lugano, it is a different connection with a regional train for the first leg (see “Via Lugano” below). The direct EuroCity has no change.

How much the Milan to Zurich train costs

These are Trenitalia’s fares on 5 October 2026 for a train the next day and one five weeks ahead. Prices are for one adult, one way.

Class Next day (6 Oct 2026) 5 weeks ahead (10 Nov 2026)
Second class €96 €33.50-57.50
First class €153 €82.50 (7:10am train)

Booking five weeks ahead cut the cheapest second-class fare from €96 to €33.50, a drop of about 65%. The next-day search only offered the full fare. SBB advertises fares from CHF 38 in second class and from CHF 79 in first class from Zurich to Milan, with the same pattern: the cheapest tier is limited and sells out.

Trenitalia sells three fares on this train, and the cheap ones come with rules:

  • Smart: the cheapest. No changes and no refunds.
  • Smart2: changeable before departure for a fee, not refundable. On the 7:10am train it cost €66.50 in second class.
  • Standard: changeable before departure (you pay any difference) and refundable before departure with a 20% deduction. It cost €91 on the same train.

Children up to 5 travel free if they do not need their own seat. With a seat, they pay the child fare for ages 6 to 15.

How to book Milan to Zurich train tickets

Two official sites sell the same direct trains:

  • Trenitalia: trenitalia.com or the Trenitalia app, with prices in euros.
  • SBB: sbb.ch or the SBB Mobile app, with prices in Swiss francs and a price calendar that shows cheaper days.

Compare both for your date, because each shows its own fares and currency. If you want a single English-language app for this train and your other trips in Italy, Trainline sells the Milan to Zurich route, usually with a booking fee.

Seat reservations

Seat reservations are compulsory on EuroCity trains between Switzerland and Italy, and SBB confirms they are included in the ticket price. When you buy a ticket on Trenitalia or SBB, you get a coach and seat number. Board the coach printed on your ticket and sit in your assigned seat.

In first class, Trenitalia splits some trains into Priority Seats, a quiet Silenzio area and a Business area. On 5 October 2026 all three cost the same.

On board: food, Wi-Fi and luggage

The route uses two train types, so facilities depend on your train. On the Giruno, SBB lists a restaurant car, sockets for Swiss and international plugs, Wi-Fi, a family zone in second class and quiet and business zones in first class. Its low-floor entrances let wheelchair users board without help and reach the restaurant car.

There is no check-in and nobody weighs your bags. You take your luggage on board and put it on a rack near your seat; SBB says the Giruno has large luggage spaces. Pack so you can lift your own suitcase onto the rack.

Passport and border

Switzerland is part of the Schengen area, so there are no routine passport checks when the train crosses at Chiasso. Switzerland is not in the EU customs union, though, and Swiss customs can check goods on the train. If officers come through, declare anything you need to declare out loud; a spoken declaration counts.

Bring your passport anyway, since checks can happen. Switzerland uses the Swiss franc, so plan for CHF prices once you arrive.

Which side to sit on for the views

The train spends 15 to 20 minutes inside the Gotthard Base Tunnel, so the views on this route come mostly from the lakes. Going north from Milan, a route guide by Show Me The Journey suggests:

  • Right side for Lake Lugano, where the line runs along the western shore.
  • Left side after Flüelen for glimpses of Lake Lucerne between tunnels.
  • Left side after Arth-Goldau for Lake Zug, one of the best views of the trip.

Coming back from Zurich to Milan, swap the sides. Seats are assigned when you book, so you cannot always choose.

Rail passes: Swiss Travel Pass, Eurail and Interrail

The Swiss Travel Pass only covers travel inside Switzerland. For a direct EuroCity from Milan you need a separate ticket for the Italian part, Milan to Chiasso, which includes the compulsory seat reservation. Ask at a Trenitalia ticket office or on its site for the Milan to Chiasso fare with the seat reservation before you travel.

A Eurail or Interrail pass that covers both Italy and Switzerland pays the fare, but the seat reservation on the EuroCity is still compulsory and costs extra. Interrail’s fee table lists €13 to €17 in either class for EuroCity trains between Milan and Zurich. If this is your only long train trip, compare a pass day plus the reservation with an advance ticket, which started at €33.50 booked five weeks ahead.

Via Lugano: the regional alternative

Hourly regional trains (line RE80, run by TILO and Trenord) go from Milano Centrale to Lugano in about 1h15, leaving at 43 minutes past the hour. In Lugano you change to an SBB InterCity to Zurich. The whole trip takes about 3h11, sometimes with a second change at Arth-Goldau.

Lake Lugano with the city of Lugano and Monte San Salvatore, seen from Monte Brè
Photo: Mchernyavska, CC BY-SA 4.0

Lake Lugano and the city of Lugano, seen from Monte Brè.

This route makes sense if you want a few hours in Lugano, or if you hold a Swiss Travel Pass and only need a ticket for the Italian part. Regional trains have no seat reservations, so on a busy day you might stand. Trenitalia did not show a combined price for this connection, so check the fare on SBB or at the station. If you buy a paper regional ticket in Italy, validate it in the machine before you board.

The scenic route: Bernina Express

If you care more about the scenery than the time, the Bernina Express is the famous alternative. This Rhaetian Railway panoramic train runs from Tirano, on the Italian side of the border, to St. Moritz in about 2h15, or all the way to Chur in about 4 hours. The line crosses 196 bridges and runs through 55 tunnels, and the Albula and Bernina railways have been a UNESCO World Heritage Site since 2008.

Red Bernina Express train running along the shore of Lago Bianco below alpine peaks
Photo: Kabelleger / David Gubler, CC BY-SA 3.0

The Bernina Express running along the shore of Lago Bianco.

From Milan, a Trenord regional train runs hourly from Milano Centrale to Tirano in 2h32, for €13. On the Bernina Express itself, a seat reservation is compulsory and costs extra on top of the ticket. If you would rather not organize the trains and reservations yourself, GetYourGuide lists Bernina Express tours from Milan as day trips. For more trips like this, see our guide to day trips from Milan. If you want lake scenery without crossing the border, direct trains from Centrale reach Lake Como in about an hour; our Lake Como day trip from Milan guide has the times and ferry tickets.

Before you leave Milano Centrale

The EuroCity leaves from Milano Centrale, and you pass ticket gates to reach the platforms, which open 40 minutes before departure. Our guide to Milano Centrale covers luggage storage, food and how to get to the station by metro.

If you land in Milan on the day of your train, the Malpensa Express runs from the airport straight to Centrale; our guide to getting from Malpensa to Milan has the timetable, and Milan’s airports covers Linate and Bergamo. For a night in Milan before you leave, where to stay in Milan compares neighborhoods and our best hotels in Milan list includes hotels near Centrale. The same station has the high-speed trains to Venice, Florence and Rome, plus the direct trains to Paris, if Zurich is one stop on a longer trip.

Frequently asked questions

How long is the train from Milan to Zurich?

The direct EuroCity takes 3 hours 17 minutes from Milano Centrale to Zürich HB. Regional connections with a change in Lugano take about 3 hours 11 minutes but need one or two changes.

How much is the train from Milan to Zurich?

On the official Trenitalia site, the cheapest second-class fare was €96 for the next day and €33.50 to €57.50 for a date five weeks ahead. SBB advertises fares from CHF 38 in second class.

How many direct trains run from Milan to Zurich?

About a dozen a day. Trenitalia sold 11 direct EuroCity trains from Milan on Tuesday 6 October and Tuesday 10 November 2026, roughly hourly from 7:10am to 8:10pm, and SBB says there are 14 a day from Zurich to Milan.

Do I need a seat reservation on the Milan to Zurich train?

Yes, seat reservations are compulsory on EuroCity trains between Switzerland and Italy, but they are included in the ticket price. You get a seat assigned when you book.

Do I need my passport on the train from Milan to Zurich?

Bring it. Switzerland is in the Schengen area, so there are no systematic passport checks, but it is outside the EU customs union and customs officers can check passengers on the train.

Can I use a Eurail or Interrail pass from Milan to Zurich?

Yes, if your pass covers Italy and Switzerland, but the seat reservation on the EuroCity is compulsory and costs extra. Interrail lists the fee at €13 to €17 in either class.

Does the Swiss Travel Pass cover Milan to Zurich?

Only the Swiss part, from the border at Chiasso. You need a ticket for the Italian section from Milan to Chiasso, which includes the compulsory seat reservation on the EuroCity.

Arturo Giampieri lives in Milan and writes every guide on this site. He knows the city the way the Milanese use it: wine bars in Isola, trattorie where the tables end up singing, gallery openings with a glass of wine, techno nights at Tempio del Futuro Perduto and summer trains to the Ligurian coast. Before publishing he checks prices, opening hours and ticket rules at the official source, and he updates a guide when they change.