There are 10 ways to get from Madrid to Haarlem by plane, train (Renfe, Ouigo, TGV, Eurostar), bus, car, train, or train (Renfe, TGV)
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 Amsterdam Airport Schiphol
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Amsterdam Airport Schiphol (AMS)plane MAD - AMS
5h 4m€128–288Bus via Paris
cheapest- Take the bus from Estación Sur de Autobuses to Paris, Quai de Bercybus
- Take the bus from Paris - Bercy-Seine Bus Station to Amsterdam City Center - Sloterdijkbus BlaBlaCar Bus
25h 33m€51–134Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Paris Gare De Lyontrain Tgv
- Take the train from Paris Nord to Rotterdam Centraaltrain
- Take the train from Rotterdam Centraal to Haarlemtrain
16h 18m€158–520Drive 1,748.2 km
- Drive from Madrid to Haarlemcar 1,748.2 km
17h 23m€306–442Fly to Rotterdam The Hague Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Rotterdam The Hague Airport (RTM)plane MAD - RTM
- Take the train from Den Haag Laan v NOI to Haarlemtrain
8h 25m€165–502Fly to Eindhoven Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Eindhoven Airport (EIN)plane MAD - EIN
- Take the train from Eindhoven to Amsterdam Centraaltrain
7h 13m€91–288Fly to Brussels Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brussels Airport (BRU)plane MAD - BRU
- Take the train from Brussels Airport-Zaventem to Anvers-Centraltrain
- Take the train from Anvers-Central to Amsterdam Centraaltrain
7h 49m€102–317Train via Lyon
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Lyon Part Dieutrain
- Take the train from Lyon Part Dieu to Brussel-Zuid / Bruxelles-Miditrain Tgv
- Take the train from Brussel-Zuid / Bruxelles-Midi to Rotterdam Centraaltrain
- Take the train from Rotterdam Centraal to Haarlemtrain
17h 21m€210–472Train #2
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Narbonnetrain
- Take the train from Narbonne to Brussel-Zuid / Bruxelles-Miditrain Tgv
- Take the train from Brussel-Zuid to Rotterdam Centraaltrain
- Take the train from Rotterdam Centraal to Haarlemtrain
18h 27m€214–408Bus
- Take the bus from Madrid to Lyonbus FlixBus N1149
- Take the bus from Lyon to Amsterdam Sloterdijkbus N760
33h 22m€94–197
Madrid to Haarlem by train and bus
Questions & Answers
The cheapest way to get from Madrid to Haarlem is to bus via Paris which costs €50 - €140 and takes 25h 33m.
The fastest way to get from Madrid to Haarlem is to fly which takes 5h 4m and costs €120 - €290.
No, there is no direct bus from Madrid to Haarlem station. However, there are services departing from Estación Sur de Autobuses and arriving at [Haarlem] Voorplein station OV via Paris - Bercy-Seine Bus Station and [Amsterdam Sloterdijk] Radarweg West. The journey, including transfers, takes approximately 25h 33m.
No, there is no direct train from Madrid to Haarlem. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Haarlem via Barcelona-Sants, Lyon Part Dieu, Brussel-Zuid / Bruxelles-Midi and Rotterdam Centraal. The journey, including transfers, takes approximately 17h 21m.
The distance between Madrid and Haarlem is 1490 km. The road distance is 1748.2 km.
The best way to get from Madrid to Haarlem without a car is to train which takes 16h 18m and costs €150 - €550.
It takes approximately 5h 4m to get from Madrid to Haarlem, including transfers.
Madrid to Haarlem bus services, operated by ALSA, depart from Estación Sur de Autobuses station.
Madrid to Haarlem train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Haarlem is to fly which takes 5h 4m and costs €120 - €290. Alternatively, you can train, which costs €150 - €550 and takes 16h 18m, you could also bus via Paris, which costs €50 - €140 and takes 25h 33m.
What companies run services between Madrid, Spain and Haarlem, Netherlands?
Air Europa, Iberia, and KLM fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Amsterdam Airport Schiphol (AMS) hourly. Alternatively, you can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Haarlem via Barcelona-Sants, Paris Gare De Lyon, Gare de Lyon - Van Gogh, Gare du Nord, Paris Nord, and Rotterdam Centraal in around 16h 18m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €50–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €55–130
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport via Bilbao
- Ave. Duration
- 4h 55m
- When
- Monday
- Estimated price
- €80–180
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €50–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €55–130
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport via Bilbao
- Ave. Duration
- 4h 55m
- When
- Monday
- Estimated price
- €80–180
- Website
- klm.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 33m
- When
- Every day
- Estimated price
- €35–290
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol via Bilbao
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- €55–290
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 33m
- When
- Every day
- Estimated price
- €35–290
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €50–160
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Eindhoven Airport
- Ave. Duration
- 2h 30m
- When
- Wednesday and Sunday
- Estimated price
- €60–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Eindhoven Airport via London Stansted
- Ave. Duration
- 4h 45m
- When
- Monday and Saturday
- Estimated price
- €60–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €40–180
- Website
- transavia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Rotterdam The Hague Airport via Ibiza
- Ave. Duration
- 4h 35m
- When
- Thursday
- Estimated price
- €100–500
Flights from Adolfo Suárez Madrid–Barajas Airport to Rotterdam The Hague Airport via Barcelona
- Ave. Duration
- 4h 45m
- When
- Every day
- Estimated price
- €90–470
Flights from Adolfo Suárez Madrid–Barajas Airport to Rotterdam The Hague Airport via Alicante–Elche
- Ave. Duration
- 4h 45m
- When
- Monday, Wednesday, Saturday, and Sunday
- Estimated price
- €100–490
Flights from Adolfo Suárez Madrid–Barajas Airport to Rotterdam The Hague Airport via Valencia
- Ave. Duration
- 4h 55m
- When
- Tuesday
- Estimated price
- €95–470
- Website
- brusselsairlines.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 23m
- When
- Every day
- Estimated price
- €65–210
- Website
- britishairways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Rotterdam The Hague Airport via London City
- Ave. Duration
- 4h 27m
- When
- Monday to Friday
- Estimated price
- €260–480
- Website
- easyjet.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport via Geneva
- Ave. Duration
- 4h 10m
- When
- Monday, Friday, and Sunday
- Estimated price
- €70–210
Rome2Rio's guide to Renfe AVE
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 2m
- Frequency
- Hourly
- Estimated price
- €35–110
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- atencion.cliente@iryo.eu
- Website
- iryo.eu
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 20m
- Frequency
- Hourly
- Estimated price
- €35–95
- Website
- https://iryo.eu/en/home
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 28m
- Frequency
- 5 times a day
- Estimated price
- €29–65
- Website
- https://www.ouigo.com/es/en
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- Twice daily
- Estimated price
- €45–65
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Once daily
- Estimated price
- €50–75
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Narbonne
- Ave. Duration
- 5h 50m
- Frequency
- Once daily
- Estimated price
- €70–95
- Website
- https://www.renfe.com/es/en
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Barcelona-Sants to Paris Gare De Lyon
- Ave. Duration
- 6h 46m
- Frequency
- Twice daily
- Estimated price
- €55–210
- Website
- https://www.sncf-connect.com/en-en
Train from Lyon Part Dieu to Brussel-Zuid / Bruxelles-Midi
- Ave. Duration
- 3h 56m
- Frequency
- Every 4 hours
- Estimated price
- €75–150
- Website
- https://www.sncf-connect.com/en-en
Train from Narbonne to Brussel-Zuid / Bruxelles-Midi
- Ave. Duration
- 8h 3m
- Frequency
- Twice a week
- Estimated price
- €110–240
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from Paris Nord to Rotterdam Centraal
- Ave. Duration
- 2h 43m
- Frequency
- Every 2 hours
- Estimated price
- €55–180
- Website
- https://www.eurostar.com/rw-en
Train from Anvers-Central to Amsterdam Centraal
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- €40–100
- Website
- https://www.eurostar.com/rw-en
Train from Brussel-Zuid / Bruxelles-Midi to Rotterdam Centraal
- Ave. Duration
- 1h 9m
- Frequency
- Hourly
- Estimated price
- €40–120
- Website
- https://www.eurostar.com/rw-en
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Rotterdam Centraal to Haarlem
- Ave. Duration
- 55 min
- Frequency
- Every 30 minutes
- Estimated price
- €16–20
- Website
- https://www.ns.nl/en
Train from Den Haag Laan v NOI to Haarlem
- Ave. Duration
- 45 min
- Frequency
- Every 30 minutes
- Estimated price
- €8–22
- Website
- https://www.ns.nl/en
- 2nd Class
- €8–13
- 1st Class
- €13–22
Train from Eindhoven to Amsterdam Centraal
- Ave. Duration
- 1h 20m
- Frequency
- Every 30 minutes
- Estimated price
- €19–65
- Website
- https://www.ns.nl/en
- 2nd Class
- €19–29
- 1st Class
- €35–65
Train from Brussels Airport-Zaventem to Anvers-Central
- Ave. Duration
- 31 min
- Frequency
- Hourly
- Estimated price
- €12–17
- Website
- https://www.ns.nl/en
Train from Anvers-Central to Amsterdam Centraal
- Ave. Duration
- 1h 20m
- Frequency
- Every 2 hours
- Estimated price
- €26–110
- Website
- https://www.ns.nl/en
Train from Brussel-Zuid to Rotterdam Centraal
- Ave. Duration
- 2h 6m
- Frequency
- Every 30 minutes
- Estimated price
- €17–55
- Website
- https://www.ns.nl/en
- Phone
- +32 70 79 79 79
- Website
- belgiantrain.be
Train from Brussels Airport-Zaventem to Anvers-Central
- Ave. Duration
- 51 min
- Frequency
- Every 20 minutes
- Estimated price
- €16–18
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €16–18
- 1st Class
- €21–24
- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.com
Bus from Estación Sur de Autobuses to Paris, Quai de Bercy
- Ave. Duration
- 15h 30m
- Frequency
- Twice daily
- Estimated price
- €35–100
- Website
- https://www.alsa.com/en/
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Estación Sur de Autobuses to Paris, Quai de Bercy
- Ave. Duration
- 16h 40m
- Frequency
- Once daily
- Estimated price
- €30–65
- Website
- https://www.blablacar.co.uk/bus
Bus from Paris - Bercy-Seine Bus Station to Amsterdam City Center - Sloterdijk
- Ave. Duration
- 8h 25m
- Frequency
- Every 2 hours
- Estimated price
- €19–35
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Madrid to Lyon
- Ave. Duration
- 18h 15m
- Frequency
- Once daily
- Estimated price
- €50–100
- Website
- https://www.flixbus.co.uk
Bus from Lyon to Amsterdam Sloterdijk
- Ave. Duration
- 13h 50m
- Frequency
- 5 times a week
- Estimated price
- €40–90
- Website
- https://www.flixbus.co.uk
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
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Train travel in Spain: A guide to Renfe
Read the travel guide
What are the different types of Renfe trains in Spain?
Read the travel guide
More Questions & Answers
Madrid to Haarlem bus services, operated by ALSA, arrive at Paris, Quai de Bercy station.
Madrid to Haarlem train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Haarlem is 1748 km. It takes approximately 17h 23m to drive from Madrid to Haarlem.
Book your Madrid to Haarlem train tickets online with Omio.
There are 2841+ hotels available in Haarlem.















































