Why choose Trainline?

What customers say about Trainline

Read real reviews from real users

How to travel from Zürich to Milan by train

Want to find out more about taking the train from Zürich to Milan? Look no further.

There are around 26 trains per day running between Zürich and Milan, which usually take 3 hours 26 minutes to complete the 136 miles (218 km) journey. It can take as little as 3 hours 12 minutes on the fastest services though, if you want to get there as quickly as possible. As soon as you board the train, you'll be able to make yourself comfortable and enjoy the journey as there are direct services available. Hop on a train operated by either Trenitalia or Regiojet to reach your destination in no time. These train companies are the main operators of services on this route and run modern comfortable trains to make your journey as relaxing as possible.

You can save money on train tickets from Zürich to Milan if you book in advance, as tickets usually start from £21.67. Use our Journey Planner at the top of the page to compare ticket prices and get the cheapest fares.

Want to book your train tickets now? Just start a search with us today. If you want to find out more about the journey, read on for timetables (including first and last train times), FAQs and tips on how to book cheap train tickets.

Zürich to Milan by train

It takes an average of 3h 26m to travel from Zürich to Milan by train, over a distance of around 136 miles (218 km). There are normally 26 trains per day travelling from Zürich to Milan and tickets for this journey start from £21.67 when you book in advance.

First train


Last train


Departure station


Arrival station


Journey time

From 3h 12m


136 miles (218 km)


26 trains per day


Direct trains available


From £21.67

Train and bus operators

Regiojet, Marino, Trenitalia, Flixbus, Onebus, Calanda Viaggi (Bus)

Zürich to Milan train times

Check out the next trains departing from Zürich to Milan for Tuesday 13th June 2023. For the full train timetable/schedule, or to search for a later time or date, click here.
09:05 12:17 3h 12m, 2 changes
09:33 13:09 3h 36m, direct
10:05 13:17 3h 12m, 1 change
10:33 13:50 3h 17m, direct
11:05 14:17 3h 12m, 2 changes
11:05 14:50 3h 45m, 1 change
12:05 15:17 3h 12m, 1 change
12:33 15:50 3h 17m, direct
13:05 16:17 3h 12m, 2 changes
14:05 17:17 3h 12m, 1 change

Trenitalia trains from Zürich to Milan

You can travel from Zürich to Milan on Trenitalia trains. When you search for times and tickets, we might also show you some other options with multiple connections or operators if they’re available.

Trenitalia is the national railway company of Italy, with a fleet including high-speed trains (Frecciarossa, Frecciargento and Frecciabianca), Intercity and Intercity night trains and regional trains. Trenitalia offers discounts and special promotions on selected routes, two types of discounted tickets for young people under 30 and people over 60.

RegioJet and Trenitalia Eurocity classes from Zürich to Milan

Compare the different travel classes offered by RegioJet and Trenitalia Eurocity when travelling from Zürich to Milan.

Onboard services on RegioJet and Trenitalia Eurocity

Discover more about the onboard services offered on trains from Zürich to Milan.


There are no weight limits when it comes to luggage on Regiojet trains - you can take what you like, so long as you can carry it by yourself.

RestaurantRestaurantFood and drink

Choose from a wide range of drinks, snacks and light bites on board - you'll find the full menu on the Regiojet app. A free bottle of water is available for all customers. For passengers travelling with Relax or Business Class tickets, you'll also be offered a free Italian coffee or mint tea (made with real mint leaves) when on board.


Free WiFi is available on board. You can access the entertainment portal using the Regiojet app, or through the built-in screens on more modern Regiojet trains.

ChildPassengerChildPassengerTravel with children

Pushchairs should be folded up to be taken on board. If this isn't possible, you must store your pushchair at the front or back of the carriage.


Bicycles cannot be transported on Regiojet trains.


It's possible to bring small pets on board Regiojet trains in suitable carriers. Pets are not allowed in sleeper carriages or couchettes. Guide dogs of all sizes are permitted on board.

WheelchairWheelchairSpecial Assistance

Dedicated wheelchair spaces are available on Regiojet trains.

  • You can take your bags on board Trenitalia's Eurocity trains free of charge.
  • In most cases, there are no luggage size limits – you can even travel with musical instruments and sports equipment. You’ll just need to make sure that your luggage is compatible with the space available on board.
RestaurantRestaurantFood and drink
  • You’ll find a Bar-Bistrò on Eurocity trains that are travelling between Italy, Switzerland and Germany.
  • A minibar trolley service is also available – you can choose from a wide range of snacks and drinks.

Free WiFi is available on Eurocity Giruno trains.

ChildPassengerChildPassengerTravel with children

Children under 4 can travel for free if they're accompanied by an adult and don't occupy a seat.


Not all Eurocity trains allow you to take your bike on board – you’ll need to check in advance if you can travel with your bike. If that’s the case, you’ll need to buy a ticket and book your bike space before departure at the ticket office.


Guide and assistance dogs can travel for free and don't need a ticket.

WheelchairWheelchairSpecial Assistance

All of Trenitalia’s Eurocity trains offer dedicated spaces to passengers with disabilities.


A quiet area (or Area Silenzio) is available on all Eurocity Giruno trains.

Cheap train tickets from Zürich to Milan

The price of train tickets from Zürich to Milan starts at £21.67 one-way for a Standard Class ticket if you book in advance. Booking on the day is usually more expensive and costs can vary depending on the time of day, route or class.

Book in advance

Most of the train companies across Europe release their tickets around three to six months in advance, many of which can be cheaper the earlier you book. If you know the dates you want to travel, you may be able to find some cheaper train tickets from Zürich to Milan by booking early.§

Be flexible with your travel times

Many of the train services in Europe are also popular commuter services, lots of train companies increase ticket prices during “peak hours” (generally between 06:00 – 10:00 and 15:00 – 19:00 on weekdays). If you can, consider travelling outside of peak hours to find lower priced tickets.

Choose a slower or connecting train

On some of the busier routes, you might also have the option to take a slower or connecting train. It may take a little longer than some high-speed or direct services, but if you have a little extra time on your hands, you might find a cheaper fare. Plus, you'll have more time to enjoy the view of the countryside!

Look out for special deals

Take a look at our handy guides to find out when train operators release their special deals and offers to see if you can find cheap European train tickets for your journey.

For specific information about how to get your hands on cheap tickets, check out our European train tickets hub.

§Some train companies may not offer any Advance ticket types or cheaper deals for early bookings. On rare occasions, train companies may choose to release special offers closer to the date on last-minute or late-release tickets. This is dependent on the individual train operating company you travel with.

Journey details

Want to know more about your journey from Zürich to Milan? We've compiled some of the most frequently asked questions by our customers to help you plan your journey.

How long does the train from Zürich to Milan take?

The average journey time by train between Zürich and Milan is 3 hours and 26 minutes, with around 26 trains per day. The journey time may be longer on weekends and holidays, so use our Journey Planner on this page to search for a specific travel date.

What's the fastest journey time between Zürich and Milan by train?

The fastest journey time by train from Zürich to Milan is 3 hours and 12 minutes.

How much does the train from Zürich to Milan cost?

Train ticket prices from Zürich to Milan can start from as little as £21.67 when you book in advance. The cost of tickets can vary depending on the time of day, route and class you book and are usually more expensive if you book on the day.

Is there a direct train from Zürich to Milan?

Yes, it is possible to travel from Zürich to Milan without having to change trains. There are 10 direct trains from Zürich to Milan each day. Though there may be fewer direct services available depending on your exact departure date.

What time does the first train from Zürich to Milan leave?

The first train from Zürich to Milan leaves at 06:05. Times and services may vary during weekends and holidays.

What time does the last train from Zürich to Milan leave?

The last train from Zürich to Milan leaves at 23:05. Trains that depart in the early morning hours or very late evening may be sleeper services, time and services may also vary during weekends and holidays.

What's the distance between Zürich and Milan by train?

Trains travelling from Zürich to Milan cover a distance of around 136 miles (218 km) during the journey.

Looking for more information?

If you’re looking for the return train journey, check out trains from Milan to Zürich. If you’re looking for other options, you can also catch the bus from Zürich to Milan.
The information provided is calculated based on scheduled train services for Zürich to Milan for a typical week day using timetable data for 06/13/2023. On weekends, holidays or other exceptional times, fewer services may be available. The fare range provided has been found by our customers on Trainline on 09/22/2023 for travel on 09/22/2023 and for adult tickets in economy, discount cards and coach journeys excluded.

Europe’s leading train and coach app

We help customers across Europe make more than 172,000 smarter journeys every day.