There are 4 ways to get from Milan to Zermatt by train, bus or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Train  •  3 h 50 min

  1. Take the train from Milano Centrale to Brig Eurocity / ...
  2. Take the train from Brig Bahnhofplatz to Zermatt 30-Y / ...

$62 - $107

Cheapest option

Bus  •  7 h 16 min

  1. Take the bus from Milano Centrale to Malpensa Airport T1
  2. Take the bus from Malpensa Airport T1 to Piedimulera
  3. Take the bus from Piedimulera to Macugnaga - Pecetto 104 / ...

$36 - $60

2 alternative options

Train via Rho Fieramilano  •  4 h 48 min

  1. Take the train from Rho Fiera Milano to Visp Ec
  2. Take the train from Visp to Zermatt 30-Y

$52 - $92

Drive  •  3 h 18 min

  1. Drive from Milan to Zermatt 143.3 miles

$30 - $50

Questions & Answers

No, there is no direct train from Milan to Zermatt. However, there are services departing from Milano Centrale and arriving at Zermatt via Brig Bahnhofplatz. The journey, including transfers, takes approximately 3 h 50 min.

More details

The distance between Milan and Zermatt is 128 km. The road distance is 229.3 km.

Get driving directions

The best way to get from Milan to Zermatt without a car is to train which takes 3 h 50 min and costs .

More details

It takes approximately 3 h 50 min to get from Milan to Zermatt, including transfers.

More details

Milan to Zermatt train services, operated by Trenitalia Eurocity, depart from Milano Centrale station.

More details

The best way to get from Milan to Zermatt is to train which takes 3 h 50 min and costs . Alternatively, you can bus, which costs and takes 7 h 16 min.

Mode details

Milan to Zermatt train services, operated by MGB, arrive at Zermatt station.

More details

Yes, the driving distance between Milan to Zermatt is 229 km. It takes approximately 3 h 18 min to drive from Milan to Zermatt.

Get driving directions

There are 1481+ hotels available in Zermatt. Prices start at $80 USD per night.

More details

Map of how to get from Milan to Zermatt.
Launch map view
  • Distance: 79.9 miles
  • Duration: 3 h 50 min

What companies run services between Milan, Italy and Zermatt, Switzerland?

You can take a train from Milan to Zermatt via Brig and Brig Bahnhofplatz in around 3 h 50 min. Alternatively, you can take a bus from Milan to Zermatt via Malpensa Airport T1, Piedimulera, and Macugnaga - Pecetto in around 7 h 16 min.

Train operators
Trenitalia Eurocity

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Milano Centrale to Brig
Ave. Duration
1 h 53 min
Frequency
Every 2 hours
Estimated price
$35 - $55
Website
orario.trenitalia.com
Train from Rho Fiera Milano to Visp
Ave. Duration
1 h 52 min
Frequency
3 times a week
Estimated price
$30 - $45
Website
orario.trenitalia.com
MGB
Website
matterhorngotthardbahn.ch
Train from Brig Bahnhofplatz to Zermatt
Ave. Duration
1 h 24 min
Frequency
Hourly
Estimated price
$26 - $55
Website
matterhorngotthardbahn.ch
Schedules at
fahrplan.sbb.ch
2nd Class Ticket
$26 - $31
1st Class Ticket
$45 - $55
Train from Visp to Zermatt
Ave. Duration
1 h 10 min
Frequency
Hourly
Estimated price
$20 - $45
Website
matterhorngotthardbahn.ch
Schedules at
fahrplan.sbb.ch
2nd Class Ticket
$20 - $25
1st Class Ticket
$35 - $45
Bus operators
Autostradale
TerraVision IT
Email
customerservices@terravision.eu
Website
terravision.eu
Bus from Milano Central station to Milan Malpensa Airport
Ave. Duration
50 min
Frequency
Every 30 minutes
Estimated price
$9 - $10
Schedules at
terravision.eu
Autoservizi Comazzi srl
Phone
0322 844 862
Email
comazzi@comazzibus.com
Website
comazzibus.com
Bus from Malpensa Airport T1 to Piedimulera
Ave. Duration
1 h 2 min
Frequency
Every 4 hours
Estimated price
$8 - $18
Schedules at
comazzibus.com
Bus from Piedimulera to Macugnaga - Pecetto
Ave. Duration
1 h 1 min
Frequency
Every 4 hours
Estimated price
$3 - $5
Schedules at
comazzibus.com
Swiss PostAuto
Email
info@postauto.ch
Website
postauto.ch
Bus from Malpensa Aeroporto, terminal 1 to Piedimulera
Ave. Duration
1 h 7 min
Frequency
Every 4 hours
Estimated price
$35 - $50
Schedules at
fahrplan.sbb.ch
Bus from Piedimulera, stazione to Macugnaga, Pecetto
Ave. Duration
1 h 1 min
Frequency
Every 4 hours
Estimated price
$15 - $22
Schedules at
fahrplan.sbb.ch

Want to know more about travelling around Switzerland

Rome2rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.