There are 10 ways to get from Madrid to Spa by plane, train, train (Renfe, Ouigo, TGV), bus, or car
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)plane MAD - BRU
- Take the train from Louvain to Verviers-Centraltrain
7h 28m€84–260Fly to Brussels South Charleroi Airport, bus
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brussels South Charleroi Airport (CRL)plane MAD - CRL
- Take the bus from Charleroi Airport to Liège Rue du Plan Inclinedbus
8h 23m€70–305Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Nimestrain
- Take the train from Nimes to Bruxelles-Miditrain Trn
- Take the train from Bruxelles-Midi to Verviers-Centraltrain Ic / ...
17h 20m€297–589Bus, train
- Take the bus from Madrid to Brussels-North train stationbus FlixBus N1143
- Take the train from Brussels-Nord to Verviers-Centraltrain Ic / ...
25h 35m€166–246Drive 1,604.6 km
- Drive from Madrid to Spacar 1,604.6 km
16h 27m€262–378Fly to Luxembourg, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Luxembourg (LUX)plane MAD - LUX
- Take the train from Luxembourg to Trois-Pontstrain
9h 11m€81–293Fly to Düsseldorf International Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Düsseldorf International Airport (DUS)plane MAD - DUS
- Take the train from Duesseldorf-Bilk to Aachen Hbftrain
9h 37mFly to Amsterdam Airport Schiphol, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Amsterdam Airport Schiphol (AMS)plane MAD - AMS
- Take the train from Schiphol Airport to Brussel-Zuid / Bruxelles-Miditrain
- Take the train from Brussel-Zuid / Bruxelles-Midi to Liege-Guilleminstrain
9h 48m€168–456Fly to Frankfurt, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Frankfurt (FRA)plane MAD - FRA
- Take the train from Frankfurt to Aachen, Hbftrain
9h 42m€129–344Bus
- 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 Liègebus BlaBlaCar Bus
25h 40m€129–216
Madrid to Spa by train
Comparing Your Travel Options
The cheapest way to get from Madrid to Spa is to fly and bus which costs €70 - €310 and takes 8h 23m.
The fastest way to get from Madrid to Spa is to fly and train which takes 7h 28m and costs €80 - €260.
No, there is no direct bus from Madrid to Spa. However, there are services departing from Estación Sur de Autobuses and arriving at SPA Place Royale via Paris - Bercy-Seine Bus Station, LIEGE Gare des Guillemins - Quai C and VERVIERS Gare Centrale - Quai B. The journey, including transfers, takes approximately 25h 40m.
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, Nimes, Bruxelles-Midi and Verviers-Central. The journey, including transfers, takes approximately 17h 20m.
The distance between Madrid and Spa is 1455 km. The road distance is 1604.6 km.
The best way to get from Madrid to Spa without a car is to train which takes 17h 20m and costs €290 - €600.
It takes approximately 7h 28m to get from Madrid to Spa, including transfers.
Madrid to Spa bus services, operated by BlaBlaCar Bus, depart from Estación Sur de Autobuses 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 which takes 17h 20m and costs €290 - €600. Alternatively, you can bus, which costs €120 - €220 and takes 25h 40m.
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, Nimes, Bruxelles-Midi, and Verviers-Central in around 17h 20m. Alternatively, you can take a bus from Estación Sur de Autobuses to SPA Place Royale via Paris - Bercy-Seine Bus Station, Liège, LIEGE Gare des Guillemins - Quai C, and VERVIERS Gare Centrale - Quai B in around 25h 40m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport via Bilbao
- Ave. Duration
- 5h 20m
- When
- Tuesday and Saturday
- Estimated price
- €80–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €70–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 42m
- When
- Every day
- Estimated price
- €60–220
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol via Bilbao
- Ave. Duration
- 5h 35m
- When
- Thursday
- Estimated price
- €110–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €70–190
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €60–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport via Bilbao
- Ave. Duration
- 5h 20m
- When
- Tuesday and Saturday
- Estimated price
- €80–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €70–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol via Bilbao
- Ave. Duration
- 5h 35m
- When
- Thursday
- Estimated price
- €110–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €70–190
- Website
- lufthansa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 4h 49m
- When
- Every day
- Estimated price
- €100–290
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 31m
- When
- Every day
- Estimated price
- €80–300
- Website
- klm.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport via Amsterdam Airport Schiphol
- Ave. Duration
- 4h 56m
- When
- Every day
- Estimated price
- €65–330
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €50–340
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol via Bilbao
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- €65–340
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €60–230
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €100–230
Flights from Adolfo Suárez Madrid–Barajas Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 36m
- When
- Every day
- Estimated price
- €50–340
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €70–230
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Luxembourg
- Ave. Duration
- 2h 25m
- When
- Wednesday, Friday, Thursday, Saturday, Sunday, and Monday
- Estimated price
- €50–220
Flights from Adolfo Suárez Madrid–Barajas Airport to Luxembourg via Marseille
- Ave. Duration
- 4h 35m
- When
- Monday to Wednesday
- Estimated price
- €50–220
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels South Charleroi Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €50–210
- Website
- airfrance.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Luxembourg via Paris Charles de Gaulle
- Ave. Duration
- 5h 2m
- When
- Every day
- Estimated price
- €65–350
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport via Paris Charles de Gaulle
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- €60–310
- Website
- brusselsairlines.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brussels Airport
- Ave. Duration
- 2h 21m
- When
- Every day
- Estimated price
- €55–200
- 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
- €75–240
- Website
- eurowings.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Düsseldorf International Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €65–240
- Phone
- +32 70 79 79 79
- Website
- Belgian Railways
Train from Louvain to Verviers-Central
- Ave. Duration
- 52 min
- Frequency
- Every 30 minutes
- Estimated price
- €17–26
- Website
- Belgian Railways
Train from Nimes to Bruxelles-Midi
- Ave. Duration
- 5h 39m
- Frequency
- Once a week
- Estimated price
- €180–280
- Website
- Belgian Railways
Train from Bruxelles-Midi to Verviers-Central
- Ave. Duration
- 1h 24m
- Frequency
- Every 30 minutes
- Estimated price
- €22–35
- Website
- Belgian Railways
Train from Brussels-Nord to Verviers-Central
- Ave. Duration
- 1h 12m
- Frequency
- Every 30 minutes
- Estimated price
- €22–35
- Website
- Belgian Railways
Train from Luxembourg to Trois-Ponts
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- €18–28
- Website
- Belgian Railways
Train from Frankfurt to Aachen, Hbf
- Ave. Duration
- 1h 28m
- Frequency
- Twice daily
- Estimated price
- €40–65
- Website
- Belgian Railways
Rome2Rio's guide to Renfe AVE
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 2m
- Frequency
- Every 30 minutes
- Estimated price
- €85–150
- Website
- Renfe AVE
- Phone
- +34 900 926 851
- atencion.cliente@iryo.eu
- Website
- Iryo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 24m
- Frequency
- Hourly
- Estimated price
- €55–100
- Website
- Iryo
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 27m
- Frequency
- Hourly
- Estimated price
- €45–80
- Website
- Ouigo
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €75–110
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Nimes
- Ave. Duration
- 3h 41m
- Frequency
- 4 times a day
- Estimated price
- €45–75
- Website
- Renfe Viajeros
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Barcelona-Sants to Nimes
- Ave. Duration
- 3h 52m
- Frequency
- Twice daily
- Estimated price
- €75–120
- Website
- TGV inOui
- Phone
- +49 221 13 999 444
- Website
- National Express
Train from Duesseldorf-Bilk to Aachen Hbf
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Schedules at
- National Express
- Phone
- +44 (0)3432 186 186
- Website
- Eurostar
Train from Schiphol Airport to Brussel-Zuid / Bruxelles-Midi
- Ave. Duration
- 1h 39m
- Frequency
- Hourly
- Estimated price
- €70–120
- Website
- Eurostar
Train from Brussel-Zuid / Bruxelles-Midi to Liege-Guillemins
- Ave. Duration
- 44 min
- Frequency
- Every 3 hours
- Estimated price
- €35–65
- Website
- Eurostar
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Brussel-Zuid / Bruxelles-Midi to Liege-Guillemins
- Ave. Duration
- 46 min
- Frequency
- Hourly
- Estimated price
- €17–40
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Frankfurt to Aachen, Hbf
- Ave. Duration
- 1h 28m
- Frequency
- Every 4 hours
- Estimated price
- €40–90
- Website
- Deutsche Bahn Intercity (DB IC)
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Madrid to Brussels-North train station
- Ave. Duration
- 22h 35m
- Frequency
- Once daily
- Estimated price
- €140–210
- Website
- Flixbus
- Phone
- +352 50 55 62 63 10
- info@flibco.com
- Website
- Flibco
Bus from Charleroi Airport to Liège Rue du Plan Inclined
- Ave. Duration
- 1h 5m
- Frequency
- Every 3 hours
- Estimated price
- €14–24
- Website
- Flibco
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Estación Sur de Autobuses to Paris - Bercy-Seine Bus Station
- Ave. Duration
- 15h 30m
- Frequency
- 5 times a day
- Estimated price
- €90–160
- Website
- BlaBlaCar Bus
Bus from Paris - Bercy-Seine Bus Station to Liège
- Ave. Duration
- 6h 5m
- Frequency
- 3 times a day
- Estimated price
- €30–55
- Website
- BlaBlaCar 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
Booking & Getting There
Madrid to Spa bus services, operated by BlaBlaCar Bus, arrive at Paris - Bercy-Seine Bus Station.
Madrid to Spa train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Spa is 1605 km. It takes approximately 16h 27m to drive from Madrid to Spa.
Book your Madrid to Spa train tickets online with Omio.
There are 1670+ hotels available in Spa.

















































