There are 9 ways to get from Apulia to Madrid by plane, train (Trenitalia, Renfe, Ouigo), bus, car, train, or train (Trenitalia, Renfe)
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly from Brindisi Airport
best- Fly from Brindisi Airport (BDS) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane BDS - MAD
6h 13m€67–234Bus to Bari Karol Wojtyła Airport, fly
cheapest- Take the bus from Altamura Via Matera to Bari Airportbus
- Fly from Bari Karol Wojtyła Airport (BRI) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane BRI - MAD
6h 20m€64–208Train via Milan
- Take the train from Bari Centrale to Bologna Centraletrain Fr
- Take the train from Bologna centrale to Milano Centraletrain
- Take the train from Milano Centrale to Lyon Part Dieutrain Fr
- Take the train from Lyon Part Dieu to Barcelona-Santstrain
- Take the train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandestrain Ave
21h 57m€279–606Bus
- Take the bus from Bari to Milanbus FlixBus N436
- Take the bus from Milan to Madridbus FlixBus N1138
35h 35m€172–292Drive 2,316.6 km
- Drive from Bari to Madridcar 2,316.6 km
22h 59m€361–521Train to Naples Airport, fly
- Take the train from Foggia to Casertatrain
- Fly from Naples Airport (NAP) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane NAP - MAD
8h 32m€78–251Train to Fiumicino International Airport, fly
- Take the train from Foggia to Roma Terminitrain
- Fly from Fiumicino International Airport (FCO) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane FCO - MAD
8h 47m€77–280Bus via Lyon
- Take the bus from Bari to Lionebus Bari
- Take the bus from Lyon - Gerland Bus Station to Estación Sur de Autobusesbus BlaBlaCar Bus
39h 50m€166–320Train
- Take the train from Bari Centrale to Casertatrain Fa / ...
- Take the train from Caserta to Lourdestrain
- Take the train from Lourdes to Hendayetrain
- Take the train from Irun to Madrid Chamartíntrain Alv / ...
2d€330–606
Apulia to Madrid by bus
Questions & Answers
The cheapest way to get from Apulia to Madrid is to bus and fly which costs €60 - €210 and takes 6h 20m.
The fastest way to get from Apulia to Madrid is to fly which takes 6h 13m and costs €65 - €240.
No, there is no direct bus from Apulia to Madrid. However, there are services departing from Bari and arriving at Madrid via Milan. The journey, including transfers, takes approximately 35h 35m.
No, there is no direct train from Apulia to Madrid. However, there are services departing from Bari Centrale and arriving at Madrid-Puerta de Atocha-Almudena Grandes via Bologna centrale, Milano Centrale, Lyon Part Dieu and Barcelona-Sants. The journey, including transfers, takes approximately 21h 57m.
The distance between Apulia and Madrid is 1831 km. The road distance is 2316.6 km.
The best way to get from Apulia to Madrid without a car is to train via Milan which takes 21h 57m and costs €270 - €650.
It takes approximately 6h 13m to get from Apulia to Madrid, including transfers.
Apulia to Madrid bus services, operated by FlixBus, depart from Bari station.
Apulia to Madrid train services, operated by Trenitalia Frecce, depart from Bari Centrale station.
The best way to get from Apulia to Madrid is to fly which takes 6h 13m and costs €65 - €240. Alternatively, you can train via Milan, which costs €270 - €650 and takes 21h 57m, you could also bus, which costs €170 - €300 and takes 35h 35m.
What companies run services between Apulia, Italy and Madrid, Spain?
Ryanair, ITA Airways, and Air Europa fly from Brindisi Airport (BDS) to Adolfo Suárez Madrid–Barajas Airport (MAD) 5 times a day. Alternatively, you can take a train from Bari Centrale to Madrid-Puerta de Atocha-Almudena Grandes via Bologna centrale, Milano Centrale, Lyon Part Dieu, and Barcelona-Sants in around 21h 57m.
- Website
- ryanair.com
Flights from Brindisi Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 10m
- When
- Monday and Thursday
- Estimated price
- €65–210
Flights from Brindisi Airport to Adolfo Suárez Madrid–Barajas Airport via Fiumicino International Airport
- Ave. Duration
- 6h
- When
- Monday, Thursday, and Friday
- Estimated price
- €65–210
Flights from Bari Karol Wojtyła Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h
- When
- Monday, Wednesday, Friday, and Saturday
- Estimated price
- €55–180
Flights from Naples Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 50m
- When
- Monday, Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- €55–190
Flights from Naples Airport to Adolfo Suárez Madrid–Barajas Airport via Palma Mallorca
- Ave. Duration
- 5h 20m
- When
- Monday, Thursday, and Saturday
- Estimated price
- €55–190
Flights from Fiumicino International Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €50–180
Flights from Fiumicino International Airport to Adolfo Suárez Madrid–Barajas Airport via Palma Mallorca
- Ave. Duration
- 4h 20m
- When
- Friday
- Estimated price
- €50–180
- Website
- ita-airways.com
Flights from Brindisi Airport to Adolfo Suárez Madrid–Barajas Airport via Fiumicino International Airport
- Ave. Duration
- 5h 51m
- When
- Every day
- Estimated price
- €70–250
Flights from Fiumicino International Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €45–190
- Website
- iberia.com
Flights from Naples Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 47m
- When
- Every day
- Estimated price
- €55–150
Flights from Fiumicino International Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €40–110
- Website
- aireuropa.com
Flights from Brindisi Airport to Adolfo Suárez Madrid–Barajas Airport via Fiumicino International Airport
- Ave. Duration
- 5h 45m
- When
- Every day
- Estimated price
- €70–250
Flights from Fiumicino International Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €45–190
- Website
- flyulendo.com
Flights from Fiumicino International Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 33m
- When
- Every day
- Estimated price
- €30–140
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Bari Centrale to Bologna Centrale
- Ave. Duration
- 5h 45m
- Frequency
- Every 2 hours
- Estimated price
- €95–190
- Schedules at
- trenitalia.com
Train from Foggia to Caserta
- Ave. Duration
- 2h 7m
- Frequency
- Every 4 hours
- Estimated price
- €23–45
- Schedules at
- trenitalia.com
Train from Foggia to Roma Termini
- Ave. Duration
- 3h 20m
- Frequency
- Every 4 hours
- Estimated price
- €50–100
- Schedules at
- trenitalia.com
Train from Bari Centrale to Caserta
- Ave. Duration
- 3h 17m
- Frequency
- Every 4 hours
- Estimated price
- €40–80
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Bari Centrale to Bologna Centrale
- Ave. Duration
- 7h 6m
- Frequency
- 5 times a day
- Estimated price
- €65–150
- Website
- https://www.trenitalia.com/en.html
Train from Foggia to Caserta
- Ave. Duration
- 2h 17m
- Frequency
- Once daily
- Estimated price
- €16–35
- Website
- https://www.trenitalia.com/en.html
Train from Foggia to Roma Termini
- Ave. Duration
- 4h 46m
- Frequency
- Once daily
- Estimated price
- €35–80
- Website
- https://www.trenitalia.com/en.html
Train from Bari Centrale to Caserta
- Ave. Duration
- 3h 30m
- Frequency
- Once daily
- Estimated price
- €29–65
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Bologna centrale to Milano Centrale
- Ave. Duration
- 1h 4m
- Frequency
- Every 30 minutes
- Estimated price
- €27–55
- Website
- https://www.italotreno.it/en
Train from Foggia to Roma Termini
- Ave. Duration
- 3h 25m
- Frequency
- Once daily
- Estimated price
- €45–95
- Website
- https://www.italotreno.it/en
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Milano Centrale to Lyon Part Dieu
- Ave. Duration
- 4h 47m
- Frequency
- Twice daily
- Estimated price
- €55–90
- Website
- https://www.trenitalia.com/en.html
Train from Caserta to Lourdes
- Ave. Duration
- 33h 50m
- Frequency
- Once a week
- Estimated price
- €210–350
- Website
- https://www.trenitalia.com/en.html
Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Lyon Part Dieu to Barcelona-Sants
- Ave. Duration
- 4h 48m
- Frequency
- Once daily
- Estimated price
- €75–120
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 28m
- Frequency
- Twice daily
- Estimated price
- €65–120
- Website
- https://www.renfe.com/es/en
Train from Irun to Madrid Chamartín
- Ave. Duration
- 5h 46m
- Frequency
- Twice daily
- Estimated price
- €60–110
- Website
- https://www.renfe.com/es/en
Rome2Rio's guide to Renfe AVE
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 2m
- Frequency
- Hourly
- Estimated price
- €95–160
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- atencion.cliente@iryo.eu
- Website
- iryo.eu
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 24m
- Frequency
- Hourly
- Estimated price
- €70–120
- Website
- https://iryo.eu/en/home
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 30m
- Frequency
- 5 times a day
- Estimated price
- €55–90
- Website
- https://www.ouigo.com/es/en
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Lourdes to Hendaye
- Ave. Duration
- 2h 31m
- Frequency
- Once daily
- Estimated price
- €30–65
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- https://www.flixbus.fr
Bus from Bari to Milan
- Ave. Duration
- 11h 30m
- Frequency
- Twice daily
- Estimated price
- €60–110
- Website
- https://www.flixbus.co.uk
Bus from Milan to Madrid
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- €110–190
- Website
- https://www.flixbus.co.uk
- Phone
- +39 080 579 0211
- info@sitasudtrasporti.it
- Website
- sitasudtrasporti.it
Bus from Altamura Via Matera to Bari Airport
- Ave. Duration
- 50 min
- Frequency
- 5 times a day
- Estimated price
- €2–6
- Schedules at
- sitasudtrasporti.it
- Book at
- marozzivt.it
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Bari to Lione
- Ave. Duration
- 21h 25m
- Frequency
- Twice daily
- Estimated price
- €75–140
- Website
- https://www.itabus.it/en/home
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Lyon - Gerland Bus Station to Estación Sur de Autobuses
- Ave. Duration
- 17h 25m
- Frequency
- 3 times a day
- Estimated price
- €90–180
- Website
- https://www.blablacar.co.uk/bus
Want to know more about travelling around Spain
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
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
More Questions & Answers
Apulia to Madrid bus services, operated by FlixBus, arrive at Milan station.
Apulia to Madrid train services, operated by Trenitalia Frecce, arrive at Bologna Centrale station.
Yes, the driving distance between Apulia to Madrid is 2317 km. It takes approximately 22h 59m to drive from Apulia to Madrid.
Book your Apulia to Madrid train tickets online with Omio.
Book your Apulia to Madrid bus tickets online with Omio and FlixBus.
There are 3624+ hotels available in Madrid.






















































