There are 11 ways to get from Madrid to Spa by plane, train, train (Renfe, Ouigo, TGV), bus, car, 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 Brussels Airport, train
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brussels Airport (BRU)MAD - BRU
- Take the train from Louvain to Verviers-Central
6h 58m€84–248Bus
cheapest- Take the bus from Madrid to ParisFlixBus 793 / ...
- Take the bus from Paris - Bercy-Seine Bus Station to LiègeBlaBlaCar Bus
26h 13m€56–177Train via Barcelona
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-SantsAve
- Take the train from Barcelona-Sants to Lyon Part Dieu
- Take the train from Lyon Part Dieu to Brussel-Zuid / Bruxelles-MidiTgv
- Take the train from Bruxelles-Midi to Verviers-CentralIc / ...
16h 8m€169–447Bus, train
- Take the bus from Madrid, Avenida de América to Burgos
- Take the bus from Burgos to Paris - Massy-Palaiseau
- Take the train from Massy TGV to Bruxelles Midi
- Take the train from Bruxelles-Midi to Verviers-CentralIc / ...
24h 35m€162–328Drive 1,604.3 km
- Drive from Madrid to Spa1,604.3 km
16h 17m€249–360Fly to Düsseldorf International Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Düsseldorf International Airport (DUS)MAD - DUS
- Take the train from Duesseldorf-Bilk to Aachen Hbf
8h 33m€107–273Fly to Luxembourg, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Luxembourg (LUX)MAD - LUX
- Take the train from Pfaffenthal-Kirchberg to Trois-Ponts
8h 48m€70–212Fly to Brussels South Charleroi Airport, bus
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brussels South Charleroi Airport (CRL)MAD - CRL
- Take the bus from Charleroi Airport to Liège Rue du Plan Inclined
7h 58m€84–207Fly to Amsterdam Airport Schiphol, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Amsterdam Airport Schiphol (AMS)MAD - AMS
- Take the train from Schiphol Airport to Antwerpen-Centraal
- Take the train from Anvers-Central to Louvain
- Take the train from Louvain to Verviers-Central
9h 16m€104–393Fly to Frankfurt, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Frankfurt (FRA)MAD - FRA
- Take the train from Frankfurt to Aachen, Hbf
8h 52m€125–345Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Montpellier Saint-Roch
- Take the train from Montpellier Saint-Roch to LuxembourgTgv
- Take the train from Luxembourg to Trois-PontsIc
19h 15m€180–402
Madrid to Spa by train
Questions & Answers
The cheapest way to get from Madrid to Spa is to bus which costs €55 - €180 and takes 26h 13m.
The fastest way to get from Madrid to Spa is to fly and train which takes 6h 58m and costs €80 - €250.
No, there is no direct bus from Madrid to Spa. However, there are services departing from Madrid and arriving at SPA Place Royale via Paris - Bercy-Seine Bus Station, LIEGE Gare des Guillemins - Quai C and VERVIERS Gare Centrale. The journey, including transfers, takes approximately 26h 13m.
No, there is no direct train from Madrid to Spa. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Spa-Géronstère via Barcelona-Sants, Lyon Part Dieu, Bruxelles-Midi and Verviers-Central. The journey, including transfers, takes approximately 16h 8m.
The distance between Madrid and Spa is 1455 km. The road distance is 1604.3 km.
The best way to get from Madrid to Spa without a car is to train via Barcelona which takes 16h 8m and costs €160 - €450.
It takes approximately 6h 58m to get from Madrid to Spa, including transfers.
Madrid to Spa bus services, operated by FlixBus, depart from Madrid station.
Madrid to Spa train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Spa is to train via Barcelona which takes 16h 8m and costs €160 - €450. Alternatively, you can bus, which costs €55 - €180 and takes 26h 13m.
What companies run services between Madrid, Spain and Spa, Belgium?
You can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Spa-Géronstère via Barcelona-Sants, Lyon Part Dieu, Bruxelles-Midi, and Verviers-Central in around 16h 8m. Alternatively, you can take a bus from Madrid to SPA Place Royale via Paris, Paris - Bercy-Seine Bus Station, Liège, LIEGE Gare des Guillemins - Quai C, and VERVIERS Gare Centrale in around 26h 13m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport via Bilbao
- Ave. Duration
- 4h 55m
- When
- Monday and Friday
- Estimated price
- €70–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €70–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €50–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €70–160
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport via Bilbao
- Ave. Duration
- 4h 55m
- When
- Monday and Friday
- Estimated price
- €70–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €70–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €50–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €70–160
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €50–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Luxembourg
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €45–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels South Charleroi Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €60–170
- Website
- klm.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport via Amsterdam Airport Schiphol
- Ave. Duration
- 5h 1m
- When
- Every day
- Estimated price
- €65–330
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 33m
- When
- Every day
- Estimated price
- €40–310
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol via Bilbao
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- €60–310
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €55–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 33m
- When
- Every day
- Estimated price
- €40–310
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €75–210
- Website
- lufthansa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 4h 46m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €90–230
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €75–250
- Website
- airfrance.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h 56m
- When
- Every day
- Estimated price
- €60–310
Flights from Adolfo Suárez Madrid–Barajas Airport to Luxembourg via Paris Charles de Gaulle
- Ave. Duration
- 5h 2m
- When
- Monday, Tuesday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- €60–320
- Website
- brusselsairlines.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 23m
- When
- Every day
- Estimated price
- €60–230
- Website
- britishairways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol via London City
- Ave. Duration
- 5h 10m
- When
- Monday to Saturday
- Estimated price
- €220–300
- 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
- €75–160
- Website
- luxair.lu
Flights from Adolfo Suárez Madrid–Barajas Airport to Luxembourg
- Ave. Duration
- 2h 15m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €60–200
- Phone
- +32 70 79 79 79
- Website
- belgiantrain.be
Train from Louvain to Verviers-Central
- Ave. Duration
- 53 min
- Frequency
- Every 30 minutes
- Estimated price
- €10–15
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €10–15
- 1st Class
- €15–22
Train from Bruxelles-Midi to Verviers-Central
- Ave. Duration
- 1h 24m
- Frequency
- Every 30 minutes
- Estimated price
- €12–18
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €12–18
- 1st Class
- €19–28
Train from Pfaffenthal-Kirchberg to Trois-Ponts
- Ave. Duration
- 1h 41m
- Frequency
- Hourly
- Estimated price
- €10–15
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €10–15
- 1st Class
- €15–23
Train from Anvers-Central to Louvain
- Ave. Duration
- 1h 3m
- Frequency
- Every 15 minutes
- Estimated price
- €7–11
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €7–11
- 1st Class
- €11–16
Train from Luxembourg to Trois-Ponts
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- €10–15
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €10–15
- 1st Class
- €16–23
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
- 2h 37m
- Frequency
- Hourly
- Estimated price
- €45–180
- 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
- 2h 57m
- Frequency
- Hourly
- Estimated price
- €40–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 2m
- Frequency
- Every 4 hours
- Estimated price
- €35–80
- 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 4m
- 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 Montpellier Saint-Roch
- Ave. Duration
- 6h 30m
- Frequency
- Once daily
- Estimated price
- €75–110
- Website
- https://www.renfe.com/es/en
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Lyon Part Dieu to Brussel-Zuid / Bruxelles-Midi
- Ave. Duration
- 3h 55m
- Frequency
- Every 4 hours
- Estimated price
- €70–170
- Website
- https://www.sncf-connect.com/en-en
Train from Montpellier Saint-Roch to Luxembourg
- Ave. Duration
- 7h 46m
- Frequency
- Once daily
- Estimated price
- €90–280
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Massy TGV to Bruxelles Midi
- Ave. Duration
- 2h 42m
- Frequency
- Twice daily
- 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
- 2nd Class
- €65–95
- Rail 1st Class
- €100–140
- Phone
- 0221 13 999 444
- Website
- nationalexpress.de
Train from Duesseldorf-Bilk to Aachen Hbf
- Ave. Duration
- 1h 12m
- Frequency
- Hourly
- Estimated price
- €16–23
- Schedules at
- nationalexpress.de
- Phone
- +49 9126 301 90 70
- fahrgaeste@train-rental.com
- Website
- train-rental.com
Train from Duesseldorf-Bilk to Aachen Hbf
- Ave. Duration
- 1h 24m
- Frequency
- 5 times a week
- Schedules at
- train-rental.com
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Schiphol Airport to Antwerpen-Centraal
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €22–40
- Website
- https://www.ns.nl/en
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from Schiphol Airport to Antwerpen-Centraal
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €35–120
- Website
- https://www.eurostar.com/rw-en
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Anvers-Central to Louvain
- Ave. Duration
- 42 min
- Frequency
- Twice daily
- Estimated price
- €24–28
- Website
- https://int.bahn.de/en
Train from Frankfurt to Aachen, Hbf
- Ave. Duration
- 1h 26m
- Frequency
- Every 4 hours
- Estimated price
- €35–95
- Website
- https://int.bahn.de/en
- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.com
Bus from Madrid, Avenida de América to Burgos
- Ave. Duration
- 2h 45m
- Frequency
- Hourly
- Estimated price
- €18–45
- Website
- https://www.alsa.com/en/
Bus from Burgos to Paris - Massy-Palaiseau
- Ave. Duration
- 14h 30m
- Frequency
- 4 times a week
- Estimated price
- €65–120
- Website
- https://www.alsa.com/en/
- info@flibco.com
- Website
- flibco.com
Bus from Charleroi Airport to Liège Rue du Plan Inclined
- Ave. Duration
- 1h 5m
- Frequency
- Every 3 hours
- Estimated price
- €15–19
- Website
- https://www.flibco.com/en
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Madrid to Paris
- Ave. Duration
- 16h 5m
- Frequency
- 3 times a day
- Estimated price
- €35–120
- Website
- https://www.flixbus.co.uk
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Paris - Bercy-Seine Bus Station to Liège
- Ave. Duration
- 6h 5m
- Frequency
- Twice daily
- Estimated price
- €16–55
- Website
- https://www.blablacar.co.uk/bus
Want to know more about travelling around Belgium
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 Spa bus services, operated by FlixBus, arrive at Paris station.
Madrid to Spa train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Spa is 1604 km. It takes approximately 16h 17m to drive from Madrid to Spa.
There are 1622+ hotels available in Spa.






































































