The average train between Zermatt and Milano Porta Garibaldi takes 7h 24m and the fastest train takes 5h 14m. The train service runs several times per day from Zermatt to Milano Porta Garibaldi. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run 3 times a day between Zermatt and Milano Porta Garibaldi. The earliest departure is at 7:06 AM in the morning, and the last departure from Zermatt is at 7:06 PM which arrives into Milano Porta Garibaldi at 8:20 AM. All services require a transfer at Brig Bahnhofplatz and take an average of 7h 24m. The schedules shown below are for the next available departures.


5h 14m • 2 changes


5h 14m • 2 changes
Arrives next day


13h 14m • 2 changes


9h 14m • 2 changes


5h 14m • 2 changes
Arrives next day


13h 14m • 2 changes


5h 14m • 2 changes


5h 14m • 2 changes


5h 14m • 2 changes


5h 14m • 2 changes


5h 14m • 2 changes


5h 14m • 2 changes


5h 14m • 2 changes
Arrives next day


13h 14m • 2 changes
Want to know about travelling from Zermatt to Milano Porta Garibaldi? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Zermatt to Milano Porta Garibaldi. However, there are services departing from Zermatt station and arriving at Milano Porta Garibaldi station via Brig Bahnhofplatz. The journey, including transfers, takes approximately 7h 24m.
Zermatt to Milano Porta Garibaldi train services, operated by Matterhorn Gotthard Bahn, depart from Zermatt station.
Zermatt to Milano Porta Garibaldi train services, operated by Matterhorn Gotthard Bahn, arrive at Milano P.Garibaldi station.
Book your Zermatt to Milano Porta Garibaldi train tickets online with Matterhorn Gotthard Bahn, Swiss Federal Railways (SBB CFF FFS) and Trenitalia.
The distance between Zermatt and Milano Porta Garibaldi is 126.5 km. The road distance is 200 km.
You can take a train from Zermatt to Milano P.Garibaldi via Brig Bahnhofplatz, Brig, and Domodossola in around 6h 9m.