There are 10 ways to get from Milan to Haarlem by plane, train (Trenitalia, Eurostar), bus, car, train, train (Trenitalia), 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
best- Fly from Milan Linate Airport (LIN) to Amsterdam Airport Schiphol (AMS)plane LIN - AMS
4h 30m€64–206Bus
cheapest- Take the bus from Milano, Autostazione Lampugnano to Amsterdam Sloterdijkbus N487 / ...
16h 37m€51–110Train
- Take the train from Milano Centrale to Chambery Challes Les Eauxtrain Fr
- Take the train from Chambery Challes Les Eaux to Rotterdam Centraaltrain
- Take the train from Rotterdam Centraal to Haarlemtrain
11h 49m€257–496Drive 1,047.3 km
- Drive from Milan to Haarlemcar 1,047.3 km
11h 3m€183–264Train to Milano Malpensa Airport, fly to Amsterdam Airport Schiphol
- 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
5h 16m€66–229Train to Turin Caselle Airport, fly to Amsterdam Airport Schiphol
- Take the train from Milano Centrale to Torino Porta Susatrain
- Fly from Turin Caselle Airport (TRN) to Amsterdam Airport Schiphol (AMS)plane TRN - AMS
5h 53m€94–277Fly Milan Linate Airport to Brussels Airport, train
- Fly from Milan Linate Airport (LIN) to Brussels Airport (BRU)plane LIN - BRU
- Take the train from Antwerpen-Centraal to Amsterdam Centraaltrain
6h 40m€77–265Train via Basel
- Take the train from Milano Centrale to Basel Sbbtrain Ec
- Take the train from Basel SBB to Amsterdam Centraaltrain 43N
17h 13m€234–367Drive, car train
- Drive from Milan to Innsbruck Hauptbahnhofcar
- Take the car train from Innsbruck Hauptbahnhof to Düsseldorf Hbfcartrain
- Drive from Düsseldorf Hbf to Haarlemcar
17h 19m€197–1,154Train, bus
- Take the train from Milano Porta Garibaldi to Como Camerlatatrain S11 / ...
- Take the bus from Lugano to Amsterdam City Center - Sloterdijkbus BlaBlaCar Bus
17h 56m€77–120
Milan to Haarlem by train
Questions & Answers
The cheapest way to get from Milan to Haarlem is to bus which costs €50 - €110 and takes 16h 37m.
The fastest way to get from Milan to Haarlem is to fly which takes 4h 30m and costs €60 - €210.
No, there is no direct train from Milan to Haarlem. However, there are services departing from Milano Centrale and arriving at Haarlem via Chambery Challes Les Eaux and Rotterdam Centraal. The journey, including transfers, takes approximately 11h 49m.
The distance between Milan and Haarlem is 862 km. The road distance is 1047.3 km.
The best way to get from Milan to Haarlem without a car is to train which takes 11h 49m and costs €250 - €500.
It takes approximately 4h 30m to get from Milan to Haarlem, including transfers.
Milan to Haarlem train services, operated by Trenitalia, depart from Milano Centrale station.
The best way to get from Milan to Haarlem is to fly which takes 4h 30m and costs €60 - €210. Alternatively, you can train, which costs €250 - €500 and takes 11h 49m, you could also bus, which costs €50 - €110 and takes 16h 37m.
Milan to Haarlem train services, operated by Trenitalia, arrive at Chambery Challes Les Eaux station.
Yes, the driving distance between Milan to Haarlem is 1047 km. It takes approximately 11h 3m to drive from Milan to Haarlem.
What companies run services between Milan, Italy and Haarlem, Netherlands?
easyJet, ITA Airways, and three other airlines fly from Milan Linate Airport (LIN) to Amsterdam Airport Schiphol (AMS) hourly. Alternatively, you can take a train from Milano Centrale to Haarlem via Chambery Challes Les Eaux and Rotterdam Centraal in around 11h 49m.
- Website
- easyjet.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 56m
- When
- Every day
- Estimated price
- €50–170
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 3m
- When
- Every day
- Estimated price
- €45–200
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol via London Luton
- Ave. Duration
- 4h 10m
- When
- Sunday
- Estimated price
- €70–230
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 32m
- When
- Every day
- Estimated price
- €30–120
- Website
- klm.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 50m
- When
- Every day
- Estimated price
- €50–300
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 52m
- When
- Every day
- Estimated price
- €45–290
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol via Paris Charles de Gaulle
- Ave. Duration
- 4h 22m
- When
- Every day
- Estimated price
- €50–310
Flights from Milan Linate Airport to Brussels Airport via Amsterdam Airport Schiphol
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €50–300
- Website
- lufthansa.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 3h 58m
- When
- Every day
- Estimated price
- €100–380
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 3h 57m
- When
- Monday to Saturday
- Estimated price
- €70–310
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 3h 50m
- When
- Monday, Tuesday, Thursday, Friday, and Saturday
- Estimated price
- €120–380
Flights from Milan Linate Airport to Brussels Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Monday, Tuesday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- €65–180
- Website
- ita-airways.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- €55–260
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €50–200
- Website
- brusselsairlines.com
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €50–200
- Website
- airdolomiti.it
Flights from Milan Linate Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €100–240
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 3h 50m
- When
- Monday, Tuesday, Thursday, Friday, and Saturday
- Estimated price
- €120–380
- Website
- swiss.com
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol via Zurich
- Ave. Duration
- 4h 12m
- When
- Every day
- Estimated price
- €65–270
- Website
- airfrance.com
Flights from Turin Caselle Airport to Amsterdam Airport Schiphol via Paris Charles de Gaulle
- Ave. Duration
- 4h 22m
- When
- Every day
- Estimated price
- €50–310
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Milano Centrale to Chambery Challes Les Eaux
- Ave. Duration
- 3h 22m
- Frequency
- Twice daily
- Estimated price
- €50–110
- Website
- https://www.trenitalia.com/en.html
Train from Milano Centrale to Torino Porta Susa
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- €13
- Website
- https://www.trenitalia.com/en.html
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from Chambery Challes Les Eaux to Rotterdam Centraal
- Ave. Duration
- 5h 51m
- Frequency
- 3 times a week
- Estimated price
- €190–370
- Website
- https://www.eurostar.com/rw-en
- Standard
- €190–270
- Comfort
- €220–310
- Premium
- €280–370
Train from Antwerpen-Centraal to Amsterdam Centraal
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- €40–100
- Website
- https://www.eurostar.com/rw-en
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Rotterdam Centraal to Haarlem
- Ave. Duration
- 1h 18m
- Frequency
- Every 30 minutes
- Estimated price
- €16–20
- Website
- https://www.ns.nl/en
Train from Antwerpen-Centraal to Amsterdam Centraal
- Ave. Duration
- 1h 20m
- Frequency
- Every 2 hours
- Estimated price
- €29–110
- Website
- https://www.ns.nl/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Milano Porta Garibaldi to Como Camerlata
- Ave. Duration
- 55 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Torino Porta Susa
- Ave. Duration
- 59 min
- Frequency
- Every 2 hours
- Estimated price
- €16–40
- Website
- https://www.italotreno.it/en
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Basel Sbb
- Ave. Duration
- 4h 20m
- Frequency
- 5 times a day
- Estimated price
- €75–130
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €90–130
- 2nd Class
- €75–110
- Phone
- +43 5 1717
- Website
- konzern.oebb.at
Train from Basel SBB to Amsterdam Centraal
- Ave. Duration
- 11h 28m
- Frequency
- 4 times a week
- Estimated price
- €150–230
- Website
- https://konzern.oebb.at/en/
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- urlaubs-express.de
Car train from Innsbruck Hauptbahnhof to Düsseldorf Hbf
- Ave. Duration
- 10h 45m
- Frequency
- Once daily
- Estimated price
- €95–1,000
- Website
- https://urlaubs-express.de/?lang=en
- Car Singe Bed
- €270–550
- Car Compartment
- €550–1,000
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Milano Porta Garibaldi to Como Camerlata
- Ave. Duration
- 55 min
- Frequency
- Once daily
- Estimated price
- €22–40
- Website
- https://www.sbb.ch/en
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, Autostazione Lampugnano to Amsterdam Sloterdijk
- Ave. Duration
- 16h 20m
- Frequency
- Twice daily
- Estimated price
- €50–110
- Website
- https://www.flixbus.co.uk
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Milano, Autostazione Lampugnano to Amsterdam Sloterdijk
- Ave. Duration
- 15h 55m
- Frequency
- Once daily
- Estimated price
- €45–70
- Website
- https://www.blablacar.co.uk/bus
Bus from Lugano to Amsterdam City Center - Sloterdijk
- Ave. Duration
- 14h 40m
- Frequency
- Once daily
- Estimated price
- €45–65
- Website
- https://www.blablacar.co.uk/bus
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
More Questions & Answers
Book your Milan to Haarlem train tickets online with Omio.
There are 2818+ hotels available in Haarlem.












































