There are 9 ways to get from Madrid to Haarlem by plane, train (Renfe, Ouigo, TGV, Eurostar), bus, car, train, or train (Renfe, Ouigo, TGV, Trenitalia, Eurostar)
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 12m€83–259Train
- 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 15m€430–765Bus via Paris
- Take the bus from Estación Sur de Autobuses to Paris - Bercy-Seine Bus Stationbus BlaBlaCar Bus
- Take the bus from Paris - Bercy-Seine Bus Station to Amsterdam City Center - Sloterdijkbus BlaBlaCar Bus
23h€131–254Drive 1,748.2 km
- Drive from Madrid to Haarlemcar 1,748.2 km
17h 23m€310–447Fly 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 10m€169–510Fly 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 Sloterdijktrain
7h 14m€88–280Fly to Brussels Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brussels Airport (BRU)plane MAD - BRU
- Take the train from Antwerpen-Centraal to Amsterdam Centraaltrain
7h 31m€87–306Train 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 Marne La Vallee Chessytrain Tgv
- Take the train from Marne La Vallee Chessy to Rotterdam Centraaltrain
- Take the train from Rotterdam Centraal to Haarlemtrain
16h 58m€342–692Bus
- Take the bus from Estación Sur de Autobuses to Brussels-North train stationbus N1143
- Take the bus from Brussels-North train station to Amsterdam Sloterdijkbus 810 / ...
26h 6m€130–223
Madrid to Haarlem by train and bus
Questions & Answers
The cheapest way to get from Madrid to Haarlem is to fly which costs €80 - €260 and takes 5h 12m.
The fastest way to get from Madrid to Haarlem is to fly which takes 5h 12m and costs €80 - €260.
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, Marne La Vallee Chessy and Rotterdam Centraal. The journey, including transfers, takes approximately 16h 58m.
The distance between Madrid and Haarlem is 1495 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 15m and costs €430 - €800.
It takes approximately 5h 12m to get from Madrid to Haarlem, including transfers.
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 12m and costs €80 - €260. Alternatively, you can train, which costs €430 - €800 and takes 16h 15m, you could also bus via Paris, which costs €130 - €260 and takes 23h.
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.
What companies run services between Madrid, Spain and Haarlem, Netherlands?
Iberia, Air Europa, and KLM fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Amsterdam Airport Schiphol (AMS) every 2 hours. 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 15m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €75–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 21m
- When
- Every day
- Estimated price
- €60–160
- Website
- klm.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €65–340
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol via Bilbao
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- €65–340
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €65–340
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €55–200
- Website
- transavia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Rotterdam The Hague Airport via Geneva
- Ave. Duration
- 4h 15m
- When
- Saturday
- Estimated price
- €250–1,300
Flights from Adolfo Suárez Madrid–Barajas Airport to Rotterdam The Hague Airport via Valencia
- Ave. Duration
- 4h 20m
- When
- Thursday and Sunday
- Estimated price
- €130–650
Flights from Adolfo Suárez Madrid–Barajas Airport to Rotterdam The Hague Airport via Barcelona
- Ave. Duration
- 4h 30m
- When
- Tuesday, Wednesday, Friday, and Saturday
- Estimated price
- €130–650
Flights from Adolfo Suárez Madrid–Barajas Airport to Rotterdam The Hague Airport via Ibiza
- Ave. Duration
- 4h 45m
- When
- Thursday and Wednesday
- Estimated price
- €140–700
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Eindhoven Airport
- Ave. Duration
- 2h 30m
- When
- Monday
- Estimated price
- €65–230
Flights from Adolfo Suárez Madrid–Barajas Airport to Eindhoven Airport via London Stansted
- Ave. Duration
- 4h 42m
- When
- Friday and Saturday
- Estimated price
- €65–230
Flights from Adolfo Suárez Madrid–Barajas Airport to Eindhoven Airport via Ibiza
- Ave. Duration
- 4h 50m
- When
- Monday, Wednesday, Thursday, and Saturday
- Estimated price
- €65–230
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 20m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €55–180
- Website
- brusselsairlines.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 16m
- When
- Every day
- Estimated price
- €55–200
- Website
- britishairways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Rotterdam The Hague Airport via London City
- Ave. Duration
- 5h 22m
- When
- Monday to Friday
- Estimated price
- €270–800
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
- €90–160
- 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 21m
- Frequency
- Every 2 hours
- Estimated price
- €70–130
- 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 23m
- Frequency
- 5 times a day
- Estimated price
- €60–90
- Website
- https://www.ouigo.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
- €220–350
- Website
- https://www.sncf-connect.com/en-en
Train from Lyon Part Dieu to Marne La Vallee Chessy
- Ave. Duration
- 1h 50m
- Frequency
- Every 2 hours
- Estimated price
- €85–140
- 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 40m
- Frequency
- Every 2 hours
- Estimated price
- €140–240
- Website
- https://www.eurostar.com/rw-en
Train from Antwerpen-Centraal to Amsterdam Centraal
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- €50–85
- Website
- https://www.eurostar.com/rw-en
Train from Marne La Vallee Chessy to Rotterdam Centraal
- Ave. Duration
- 2h 52m
- Frequency
- 4 times a week
- Estimated price
- €150–250
- 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
- €7–17
- Website
- https://www.ns.nl/en
Train from Den Haag Laan v NOI to Haarlem
- Ave. Duration
- 45 min
- Frequency
- Every 20 minutes
- Estimated price
- €4–11
- Website
- https://www.ns.nl/en
Train from Eindhoven to Amsterdam Sloterdijk
- Ave. Duration
- 1h 29m
- Frequency
- Every 30 minutes
- Estimated price
- €13–30
- Website
- https://www.ns.nl/en
Train from Antwerpen-Centraal to Amsterdam Centraal
- Ave. Duration
- 1h 20m
- Frequency
- Every 3 hours
- Estimated price
- €17–40
- Website
- https://www.ns.nl/en
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 7m
- Frequency
- Once daily
- Estimated price
- €75–130
- Website
- https://www.renfe.com/es/en
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Lyon Part Dieu to Marne La Vallee Chessy
- Ave. Duration
- 1h 46m
- Frequency
- 4 times a week
- Estimated price
- €50–85
- Website
- https://www.trenitalia.com/en.html
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Lyon Part Dieu to Marne La Vallee Chessy
- Ave. Duration
- 1h 53m
- Frequency
- 4 times a week
- Estimated price
- €65–140
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Estación Sur de Autobuses to Paris - Bercy-Seine Bus Station
- Ave. Duration
- 15h 30m
- Frequency
- 4 times a day
- Estimated price
- €95–180
- Website
- https://www.blablacar.co.uk/bus
Bus from Paris - Bercy-Seine Bus Station to Amsterdam City Center - Sloterdijk
- Ave. Duration
- 6h 40m
- Frequency
- Hourly
- Estimated price
- €35–75
- Website
- https://www.blablacar.co.uk/bus
Bus from Brussels-North train station to Amsterdam Sloterdijk
- Ave. Duration
- 3h 30m
- Frequency
- 3 times a day
- Estimated price
- €15–29
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- https://www.flixbus.fr
Bus from Estación Sur de Autobuses to Brussels-North train station
- Ave. Duration
- 22h 35m
- Frequency
- Once daily
- Estimated price
- €110–190
- Website
- https://www.flixbus.co.uk
Bus from Brussels-North train station to Amsterdam Sloterdijk
- Ave. Duration
- 2h 45m
- Frequency
- Hourly
- Estimated price
- €14–25
- 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
Book your Madrid to Haarlem train tickets online with Omio.
There are 2978+ hotels available in Haarlem.













































