There are 8 ways to get from Haarlem to Milan by plane, train (TGV, Trenitalia), bus, night train, 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 to Milan Linate Airport
best- Fly from Amsterdam Airport Schiphol (AMS) to Milan Linate Airport (LIN)plane AMS - LIN
4h 17m€69–219Train
- Take the train from Haarlem to Rotterdam Centraaltrain
- Take the train from Rotterdam Centraal to Airport Charles de Gaulletrain
- Take the train from Aeroport Cdg2 Tgv Roissy to Lyon Part Dieutrain Tgv
- Take the train from Lyon Part Dieu to Milano Centraletrain Fr
12h 15m€177–381Bus via Duomo M1
- Take the bus from Amsterdam Sloterdijk to Milanbus FlixBus N487 / ...
17h 37m€78–136Night train, train
- Take the night train from Amsterdam Centraal to Zuerich Hbnighttrain Nj
- Take the train from Zürich HB to Como S. Giovannitrain Ec
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
17h 54m€166–474Fly to Milano Malpensa Airport, train
- Fly from Amsterdam Airport Schiphol (AMS) to Milano Malpensa Airport (MXP)plane AMS - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
5h 16m€72–222Bus
- Take the bus from Amsterdam City Center - Sloterdijk to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
17h 43m€82–153Drive 1,065.1 km
- Drive from Haarlem to Milancar 1,065.1 km
10h 31m€188–272Drive, car train
- Drive from Haarlem to Hannover Hbfcar
- Take the car train from Hannover Hbf to Freiburg im Breisgau Train Stationcartrain
- Drive from Freiburg im Breisgau Train Station to Milancar
15h 38m€224–310
Haarlem to Milan by train
Questions & Answers
The cheapest way to get from Haarlem to Milan is to bus via Duomo M1 which costs €75 - €140 and takes 17h 37m.
The fastest way to get from Haarlem to Milan is to fly which takes 4h 17m and costs €65 - €220.
No, there is no direct train from Haarlem to Milan. However, there are services departing from Haarlem and arriving at Milano Centrale via Rotterdam Centraal, Aeroport Cdg2 Tgv Roissy and Lyon Part Dieu. The journey, including transfers, takes approximately 12h 15m.
The distance between Haarlem and Milan is 862 km. The road distance is 1065.1 km.
The best way to get from Haarlem to Milan without a car is to train which takes 12h 15m and costs €170 - €390.
It takes approximately 4h 17m to get from Haarlem to Milan, including transfers.
Haarlem to Milan train services, operated by Nederlandse Spoorwegen (NS), depart from Haarlem station.
The best way to get from Haarlem to Milan is to fly which takes 4h 17m and costs €65 - €220. Alternatively, you can train, which costs €170 - €390 and takes 12h 15m, you could also bus via Duomo M1, which costs €75 - €140 and takes 17h 37m.
Haarlem to Milan train services, operated by Nederlandse Spoorwegen (NS), arrive at Rotterdam Centraal station.
Yes, the driving distance between Haarlem to Milan is 1065 km. It takes approximately 10h 31m to drive from Haarlem to Milan.
What companies run services between Haarlem, Netherlands and Milan, Italy?
easyJet, ITA Airways, and two other airlines fly from Amsterdam Airport Schiphol (AMS) to Milan Linate Airport (LIN) hourly. Alternatively, you can take a train from Haarlem to Milano Centrale via Rotterdam Centraal, Aeroport Cdg2 Tgv Roissy, and Lyon Part Dieu in around 12h 15m.
- Website
- easyjet.com
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €65–200
Flights from Amsterdam Airport Schiphol to Milano Malpensa Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €60–210
- Website
- klm.com
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- €60–370
- Website
- lufthansa.com
Flights from Amsterdam Airport Schiphol to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 43m
- When
- Every day
- Estimated price
- €100–240
Flights from Amsterdam Airport Schiphol to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 40m
- When
- Every day
- Estimated price
- €95–400
- Website
- swiss.com
Flights from Amsterdam Airport Schiphol to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 32m
- When
- Every day
- Estimated price
- €90–370
- Website
- ita-airways.com
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 37m
- When
- Every day
- Estimated price
- €70–240
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Haarlem to Rotterdam Centraal
- Ave. Duration
- 56 min
- Frequency
- Every 30 minutes
- Estimated price
- €7–17
- Website
- https://www.ns.nl/en
Train from Rotterdam Centraal to Airport Charles de Gaulle
- Ave. Duration
- 1h 37m
- Frequency
- Twice a week
- Estimated price
- €45–110
- Website
- https://www.ns.nl/en
Night train from Amsterdam Centraal to Zuerich Hb
- Ave. Duration
- 11h 50m
- Frequency
- 6 times a week
- Estimated price
- €90–210
- Website
- https://www.ns.nl/en
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Aeroport Cdg2 Tgv Roissy to Lyon Part Dieu
- Ave. Duration
- 2h 4m
- Frequency
- Every 2 hours
- Estimated price
- €90–150
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Aeroport Cdg2 Tgv Roissy to Lyon Part Dieu
- Ave. Duration
- 2h 3m
- Frequency
- Twice daily
- Estimated price
- €70–160
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- Twice daily
- Estimated price
- €55–95
- Website
- https://www.trenitalia.com/en.html
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Estimated price
- €70–210
- Website
- https://www.sbb.ch/en
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 2m
- Frequency
- Once daily
- Estimated price
- €17–50
- Website
- https://www.sbb.ch/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- urlaubs-express.de
Car train from Hannover Hbf to Freiburg im Breisgau Train Station
- Ave. Duration
- 7h 23m
- Frequency
- Once a week
- Estimated price
- €95–120
- Website
- https://urlaubs-express.de/?lang=en
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Amsterdam Sloterdijk to Milan
- Ave. Duration
- 16h 5m
- Frequency
- Twice daily
- Estimated price
- €75–130
- Website
- https://www.flixbus.co.uk
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Amsterdam City Center - Sloterdijk to Milano, Autostazione Lampugnano
- Ave. Duration
- 16h 30m
- Frequency
- 3 times a day
- Estimated price
- €80–150
- Website
- https://www.blablacar.co.uk/bus
Want to know more about travelling around Italy
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
More Questions & Answers
Book your Haarlem to Milan train tickets online with Omio.
There are 5294+ hotels available in Milan.









































