There are 13 ways to get from Milan to Zurich by plane, train, bus, night train, car, or car train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly Milan Linate Airport to Amsterdam Airport Schiphol, train, bus
best- Fly from Milan Linate Airport (LIN) to Amsterdam Airport Schiphol (AMS)plane LIN - AMS
- Take the train from Amsterdam Sloterdijk to Alkmaartrain
- Take the bus from Alkmaar, Station to Zurich, Kop Afsluitdijkbus
6h 45m€86–283Train to Milano Malpensa Airport, fly to Amsterdam Airport Schiphol, train, bus
cheapest- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Amsterdam Airport Schiphol (AMS)plane MXP - AMS
- Take the train from Amsterdam Sloterdijk to Alkmaartrain
- Take the bus from Alkmaar, Station to Zurich, Kop Afsluitdijkbus
7h 27m€73–256Train, bus
- Take the train from Milano Centrale to Chambery Challes Les Eauxtrain Fr
- Take the train from Chambery Challes Les Eaux to Amsterdam Centraaltrain
- Take the train from Amsterdam Centraal to Alkmaartrain
- Take the bus from Alkmaar, Station to Zurich, Kop Afsluitdijkbus 350
13h 54m€429–734Bus
- Take the bus from Milano, Autostazione Lampugnano to Amsterdam City Center - Sloterdijkbus BlaBlaCar Bus
- Take the bus from Amsterdam Sloterdijk to Leeuwardenbus 075
19h 28m€92–148Train, night train, bus
- Take the train from Milano Centrale to Bellinzonatrain Ec
- Take the train from Bellinzona to Zürich HBtrain Ic2 / ...
- Take the nighttrain from Zürich HB to Amsterdam Centraalnighttrain Nj
- Take the train from Amsterdam Centraal to Alkmaartrain
- Take the bus from Alkmaar, Station to Zurich, Kop Afsluitdijkbus 350
18h 33m€331–524Train to Turin Caselle Airport, fly to Amsterdam Airport Schiphol, train, bus
- Take the train from Milano Centrale to Torino Porta di Susatrain
- Fly from Turin Caselle Airport (TRN) to Amsterdam Airport Schiphol (AMS)plane TRN - AMS
- Take the train from Amsterdam Sloterdijk to Alkmaartrain
- Take the bus from Alkmaar, Station to Zurich, Kop Afsluitdijkbus
8h 5m€123–361Fly Milan Linate Airport to Brussels Airport, train, bus
- Fly from Milan Linate Airport (LIN) to Brussels Airport (BRU)plane LIN - BRU
- Take the train from Anvers-Central to Amsterdam Centraaltrain
- Take the train from Amsterdam Centraal to Alkmaartrain
- Take the bus from Alkmaar, Station to Zurich, Kop Afsluitdijkbus
8h 47m€76–351Bus to Il Caravaggio International Airport, fly to Eindhoven Airport, train, bus
- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Eindhoven Airport (EIN)plane BGY - EIN
- Take the train from Eindhoven Centraal to Alkmaartrain
- Take the bus from Alkmaar, Station to Zurich, Kop Afsluitdijkbus
8h 56m€81–351Fly Milan Linate Airport to Düsseldorf International Airport, train
- Fly from Milan Linate Airport (LIN) to Düsseldorf International Airport (DUS)plane LIN - DUS
- Take the train from Duesseldorf Flughafen to Arnhem Centraaltrain
- Take the train from Arnhem Centraal to Zwolletrain
- Take the train from Zwolle to Leeuwardentrain
9h 8m€158–332Train, bus via Mannheim
- Take the train from Milano Centrale to Mannheim Hbftrain Ec
- Take the train from Mannheim, Hauptbahnhof to 's-Hertogenboschtrain 47
- Take the train from 's-Hertogenbosch to Alkmaartrain
- Take the bus from Alkmaar, Station to Zurich, Kop Afsluitdijkbus 350
15h 13m€190–371Bus, train
- Take the bus from Milan to Amsterdam Sloterdijkbus
- Take the train from Amsterdam Sloterdijk to Alkmaartrain
- Take the bus from Alkmaar, Station to Zurich, Kop Afsluitdijkbus 350
20h 10m€110–170Drive 1,127.7 km
- Drive from Milan to Zurichcar 1,127.7 km
10h 42m€208–300Drive, car train
- Drive from Milan to München Ostcar
- Take the cartrain from München Ost to Kassel-Wilhelmshöhecartrain
- Drive from Kassel-Wilhelmshöhe to Zurichcar
15h 47m€241–333
Milan to Zurich by train and bus
Comparing Your Travel Options
The cheapest way to get from Milan to Zurich is to bus which costs €90 - €150 and takes 19h 28m.
The fastest way to get from Milan to Zurich is to fly and train and bus which takes 6h 45m and costs €85 - €290.
No, there is no direct bus from Milan to Zurich. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Zurich, Kop Afsluitdijk via Amsterdam Sloterdijk and Leeuwarden, Busstation. The journey, including transfers, takes approximately 19h 28m.
The distance between Milan and Zurich is 973 km. The road distance is 1127.7 km.
The best way to get from Milan to Zurich without a car is to train and bus which takes 13h 54m and costs €420 - €750.
It takes approximately 6h 45m to get from Milan to Zurich, including transfers.
Milan to Zurich bus services, operated by BlaBlaCar Bus, depart from Milano, Autostazione Lampugnano station.
Milan to Zurich bus services, operated by BlaBlaCar Bus, arrive at Amsterdam City Center - Sloterdijk station.
Yes, the driving distance between Milan to Zurich is 1128 km. It takes approximately 10h 42m to drive from Milan to Zurich.
There are 1073+ hotels available in Zurich.
What companies run services between Milan, Italy and Zurich, Netherlands?
You can take a bus from Milano, Autostazione Lampugnano to Zurich, Kop Afsluitdijk via Amsterdam Sloterdijk and Leeuwarden, Busstation in around 19h 28m.
- Website
- easyjet.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 54m
- When
- Every day
- Estimated price
- €60–230
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 56m
- When
- Every day
- Estimated price
- €45–180
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €30–160
- Website
- lufthansa.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol via Munich
- Ave. Duration
- 3h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €100–380
Flights from Milan Linate Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- €100–380
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- €95–460
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 3h 57m
- When
- Every day
- Estimated price
- €120–370
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol via Munich
- Ave. Duration
- 4h 28m
- When
- Every day
- Estimated price
- €120–370
Flights from Milan Linate Airport to Brussels Airport via Frankfurt
- Ave. Duration
- 3h 15m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €180–290
Flights from Milan Linate Airport to Brussels Airport via Munich
- Ave. Duration
- 3h 27m
- When
- Every day
- Estimated price
- €95–290
Flights from Milan Linate Airport to Düsseldorf International Airport via Munich
- Ave. Duration
- 3h 41m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €100–330
Flights from Milan Linate Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 3h 21m
- When
- Every day
- Estimated price
- €100–330
- Website
- ita-airways.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- €95–240
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 33m
- When
- Every day
- Estimated price
- €70–300
Flights from Milan Linate Airport to Düsseldorf International Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €80–200
Flights from Milan Linate Airport to Düsseldorf International Airport via Munich
- Ave. Duration
- 3h 5m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €100–330
Flights from Milan Linate Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 3h 27m
- When
- Every day
- Estimated price
- €100–330
- Website
- klm.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 49m
- When
- Every day
- Estimated price
- €55–330
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 52m
- When
- Every day
- Estimated price
- €55–340
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol via Paris Charles de Gaulle
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- €60–360
Flights from Milan Linate Airport to Brussels Airport via Amsterdam Airport Schiphol
- Ave. Duration
- 3h 40m
- When
- Every day
- Estimated price
- €60–340
- Website
- brusselsairlines.com
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 33m
- When
- Every day
- Estimated price
- €70–300
- Website
- airfrance.com
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol via Paris Charles de Gaulle
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- €60–360
Flights from Milan Linate Airport to Düsseldorf International Airport via Paris Charles de Gaulle
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €55–320
- Website
- ryanair.com
Flights from Il Caravaggio International Airport to Eindhoven Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €40–250
Flights from Il Caravaggio International Airport to Eindhoven Airport via London Stansted
- Ave. Duration
- 4h
- When
- Saturday
- Estimated price
- €40–250
- Website
- eurowings.com
Flights from Milan Linate Airport to Düsseldorf International Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €80–200
- Phone
- +31 30 751 5155
- Website
- Nederlandse Spoorwegen (NS)
Train from Amsterdam Sloterdijk to Alkmaar
- Ave. Duration
- 54 min
- Frequency
- Every 15 minutes
- Estimated price
- €5–11
- Website
- Nederlandse Spoorwegen (NS)
Train from Amsterdam Centraal to Alkmaar
- Ave. Duration
- 59 min
- Frequency
- Every 20 minutes
- Estimated price
- €5–12
- Website
- Nederlandse Spoorwegen (NS)
Train from Amsterdam Centraal to Alkmaar
- Ave. Duration
- 59 min
- Frequency
- Every 20 minutes
- Estimated price
- €5–12
- Website
- Nederlandse Spoorwegen (NS)
Train from Amsterdam Sloterdijk to Alkmaar
- Ave. Duration
- 54 min
- Frequency
- Every 15 minutes
- Estimated price
- €5–11
- Website
- Nederlandse Spoorwegen (NS)
Train from Amsterdam Sloterdijk to Alkmaar
- Ave. Duration
- 54 min
- Frequency
- Every 15 minutes
- Estimated price
- €5–11
- Website
- Nederlandse Spoorwegen (NS)
Train from Anvers-Central to Amsterdam Centraal
- Ave. Duration
- 1h 20m
- Frequency
- 5 times a day
- Estimated price
- €17–35
- Website
- Nederlandse Spoorwegen (NS)
Train from Amsterdam Centraal to Alkmaar
- Ave. Duration
- 59 min
- Frequency
- Every 20 minutes
- Estimated price
- €5–12
- Website
- Nederlandse Spoorwegen (NS)
Train from Eindhoven Centraal to Alkmaar
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- €17–35
- Website
- Nederlandse Spoorwegen (NS)
Train from Arnhem Centraal to Zwolle
- Ave. Duration
- 59 min
- Frequency
- Hourly
- Estimated price
- €8–17
- Website
- Nederlandse Spoorwegen (NS)
Train from Zwolle to Leeuwarden
- Ave. Duration
- 56 min
- Frequency
- Hourly
- Estimated price
- €10–21
- Website
- Nederlandse Spoorwegen (NS)
Train from Mannheim, Hauptbahnhof to 's-Hertogenbosch
- Ave. Duration
- 3h 48m
- Frequency
- Once daily
- Estimated price
- €40–90
- Website
- Nederlandse Spoorwegen (NS)
Train from 's-Hertogenbosch to Alkmaar
- Ave. Duration
- 1h 35m
- Frequency
- Hourly
- Estimated price
- €14–28
- Website
- Nederlandse Spoorwegen (NS)
Train from Amsterdam Sloterdijk to Alkmaar
- Ave. Duration
- 54 min
- Frequency
- Every 15 minutes
- Estimated price
- €5–11
- Website
- Nederlandse Spoorwegen (NS)
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Milano Centrale to Chambery Challes Les Eaux
- Ave. Duration
- 3h 26m
- Frequency
- 4 times a day
- Estimated price
- €40–55
- Website
- Trenitalia
- Phone
- +44 (0)3432 186 186
- Website
- Eurostar
Train from Chambery Challes Les Eaux to Amsterdam Centraal
- Ave. Duration
- 6h 45m
- Frequency
- 5 times a week
- Estimated price
- €370–650
- Website
- Eurostar
Train from Anvers-Central to Amsterdam Centraal
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- €55–95
- Website
- Eurostar
- Phone
- +39 06 68475475
- [email protected]
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Bellinzona
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- €28–70
- Website
- Trenitalia Eurocity
- 1st Class
- €50–70
- 2nd Class
- €28–40
Train from Milano Centrale to Mannheim Hbf
- Ave. Duration
- 6h 48m
- Frequency
- Twice daily
- Estimated price
- €120–180
- Website
- Trenitalia Eurocity
- 1st Class
- €120–180
- 2nd Class
- €120–160
Train from Bellinzona to Zürich HB
- Ave. Duration
- 1h 38m
- Frequency
- Hourly
- Estimated price
- €45–70
- Website
- Swiss Federal Railways (SBB CFF FFS)
Night train from Zürich HB to Amsterdam Centraal
- Ave. Duration
- 11h 13m
- Frequency
- Once daily
- Estimated price
- €240–350
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +41 58 580 70 70
- Website
- Schweizerische Südostbahn AG
Train from Bellinzona to Zürich HB
- Ave. Duration
- 2h 56m
- Frequency
- 4 times a day
- Estimated price
- €45–75
- Schedules at
- Schweizerische Südostbahn AG
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Milano Centrale to Torino Porta di Susa
- Ave. Duration
- 48 min
- Frequency
- Every 2 hours
- Estimated price
- €16–27
- Website
- Italo Treno
- Phone
- +32 70 79 79 79
- Website
- Belgian Railways
Train from Anvers-Central to Amsterdam Centraal
- Ave. Duration
- 1h 20m
- Frequency
- Twice daily
- Estimated price
- €28–45
- Website
- Belgian Railways
- Phone
- +49 6078 966930
- [email protected]
- Website
- VIAS Rail GmbH
Train from Duesseldorf Flughafen to Arnhem Centraal
- Ave. Duration
- 1h 40m
- Frequency
- Every 30 minutes
- Estimated price
- €39
- Schedules at
- VIAS Rail GmbH
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Mannheim, Hauptbahnhof to 's-Hertogenbosch
- Ave. Duration
- 3h 48m
- Frequency
- Once daily
- Estimated price
- €75–150
- Website
- Deutsche Bahn Intercity (DB IC)
- Phone
- +49 (0) 221 800 20 820
- [email protected]
- Website
- Urlaubs-Express (UEX)
Car train from München Ost to Kassel-Wilhelmshöhe
- Ave. Duration
- 5h 21m
- Frequency
- Once a week
- Estimated price
- €95–120
- Website
- Urlaubs-Express (UEX)
- Phone
- +31 900 0155
- Website
- Qbuzz B.V.
Bus from Alkmaar, Station to Zurich, Kop Afsluitdijk
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €13–17
- Website
- Qbuzz B.V.
Bus from Alkmaar, Station to Zurich, Kop Afsluitdijk
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €13–17
- Website
- Qbuzz B.V.
Bus from Alkmaar, Station to Zurich, Kop Afsluitdijk
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €13–17
- Website
- Qbuzz B.V.
Bus from Alkmaar, Station to Zurich, Kop Afsluitdijk
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €13–17
- Website
- Qbuzz B.V.
Bus from Alkmaar, Station to Zurich, Kop Afsluitdijk
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €13–17
- Website
- Qbuzz B.V.
Bus from Alkmaar, Station to Zurich, Kop Afsluitdijk
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €13–17
- Website
- Qbuzz B.V.
Bus from Alkmaar, Station to Zurich, Kop Afsluitdijk
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €13–17
- Website
- Qbuzz B.V.
Bus from Alkmaar, Station to Zurich, Kop Afsluitdijk
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €13–17
- Website
- Qbuzz B.V.
Bus from Alkmaar, Station to Zurich, Kop Afsluitdijk
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- €13–17
- Website
- Qbuzz B.V.
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Milano, Autostazione Lampugnano to Amsterdam City Center - Sloterdijk
- Ave. Duration
- 16h 5m
- Frequency
- 4 times a day
- Estimated price
- €70–130
- Website
- BlaBlaCar Bus
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Amsterdam Sloterdijk to Leeuwarden
- Ave. Duration
- 1h 35m
- Frequency
- 5 times a week
- Estimated price
- €11–17
- Website
- Flixbus
Bus from Milan to Amsterdam Sloterdijk
- Ave. Duration
- 16h 20m
- Frequency
- Twice daily
- Estimated price
- €90–140
- Website
- Flixbus
- [email protected]
- Website
- TERRAVISION
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–23
- Website
- TERRAVISION
- Phone
- 035.319366
- [email protected]
- Website
- orioshuttle.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–15
- Schedules at
- orioshuttle.com
Want to know more about travelling around Netherlands
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.
Related travel guides
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide












































































