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 / ...

$71 - $105

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 / ...

$38 - $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

$53 - $92

Drive  •  3 h 18 min

  1. Drive from Milan to Zermatt 143.3 miles

$30 - $50

Questions & Answers

The cheapest way to get from Milan to Zermatt is to drive which costs 29€ - 45€ and takes 3 h 18 min.

More details

The quickest way to get from Milan to Zermatt is to drive which costs 29€ - 45€ and takes 3 h 18 min.

More details

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 60€ - 90€.

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 60€ - 90€. Alternatively, you can bus, which costs 30€ - 55€ and takes 7 h 16 min.

Mode 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
Hourly
Estimated price
$43 - $46
Website
orario.trenitalia.com
Standard
$43 - $46
First
$67
Train from Rho Fiera Milano to Visp
Ave. Duration
1 h 52 min
Frequency
Once 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
$27 - $60
Website
matterhorngotthardbahn.ch
Schedules at
fahrplan.sbb.ch
2nd Class Ticket
$27 - $32
1st Class Ticket
$45 - $60
Train from Visp to Zermatt
Ave. Duration
1 h 10 min
Frequency
Hourly
Estimated price
$21 - $45
Website
matterhorngotthardbahn.ch
Schedules at
fahrplan.sbb.ch
2nd Class Ticket
$21 - $26
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
$9 - $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 - $55
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 - $23
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.