There are 9 ways to get from Madrid to Apulia by plane, train (Renfe, Ouigo, Trenitalia), train, bus, car, or night train
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 Brindisi Airport
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brindisi Airport (BDS)plane MAD - BDS
5h 34m€67–212Fly to Bari Karol Wojtyła Airport, bus
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Bari Karol Wojtyła Airport (BRI)plane MAD - BRI
- Take the bus from Bari Airport to Altamura Via Materabus
7h€63–197Train
- 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 Milano Centraletrain Fr
- Take the train from Milano Centrale to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Bari Centraletrain Fr
22h 53m€290–549Train, bus
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the bus from Barcelona to Turinbus
- Take the train from Torino Porta Susa to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Bari Centraletrain Fr
25h 23m€248–510Drive 2,314.4 km
- Drive from Madrid to Baricar 2,314.4 km
23h 2m€378–546Fly to Naples Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Naples Airport (NAP)plane MAD - NAP
- Take the train from Caserta to Foggiatrain
9h 4m€70–245Train, bus, night train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charlestrain
- Take the bus from Marseille, Gare de Marseille-Saint-Charles to Turinbus 404
- Take the nighttrain from Torino Lingotto to Bari Centralenighttrain Ini
30h 42m€270–421Bus
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Milan to Baribus FlixBus N436
35h 35m€221–334Bus via Nice Airport (NCE)
- Take the bus from Estación Sur de Autobuses to Nice - Airport Bus Station Terminal 1bus
- Take the bus from Nice Airport to Genoabus 798 / ...
- Take the bus from Genova to Baribus
37h 54m€188–294
Madrid to Apulia by train
Comparing Your Travel Options
The cheapest way to get from Madrid to Apulia is to fly and train which costs €70 - €250 and takes 9h 4m.
The fastest way to get from Madrid to Apulia is to fly which takes 5h 34m and costs €65 - €220.
No, there is no direct bus from Madrid to Apulia. However, there are services departing from Madrid and arriving at Bari via Milan. The journey, including transfers, takes approximately 35h 35m.
No, there is no direct train from Madrid to Apulia. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Bari Centrale via Barcelona-Sants, Lyon Part Dieu, Milano Centrale and Reggio Emilia Av. The journey, including transfers, takes approximately 22h 53m.
The distance between Madrid and Apulia is 1829 km. The road distance is 2314.4 km.
The best way to get from Madrid to Apulia without a car is to train which takes 22h 53m and costs €290 - €550.
It takes approximately 5h 34m to get from Madrid to Apulia, including transfers.
Madrid to Apulia bus services, operated by FlixBus, depart from Madrid station.
Madrid to Apulia train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Apulia is to fly which takes 5h 34m and costs €65 - €220. Alternatively, you can train, which costs €290 - €550 and takes 22h 53m, you could also bus, which costs €220 - €340 and takes 35h 35m.
What companies run services between Madrid, Spain and Apulia, Italy?
Ryanair and ITA Airways fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brindisi Airport (BDS) once daily. Alternatively, you can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Bari Centrale via Barcelona-Sants, Lyon Part Dieu, Milano Centrale, and Reggio Emilia Av in around 22h 53m.
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport
- Ave. Duration
- 2h 50m
- When
- Thursday
- Estimated price
- €60–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Rome
- Ave. Duration
- 4h 30m
- When
- Friday
- Estimated price
- €60–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 2h 50m
- When
- Monday to Saturday
- Estimated price
- €55–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 35m
- When
- Friday, Saturday, Sunday, Monday, and Thursday
- Estimated price
- €55–170
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €75–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport via Barcelona
- Ave. Duration
- 5h 20m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €90–290
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €75–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport via Barcelona
- Ave. Duration
- 5h 20m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €90–290
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Rome
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- €100–210
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- €50–150
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
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
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
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 Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Twice daily
- Estimated price
- €80–120
- 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 Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charles
- Ave. Duration
- 8h 42m
- Frequency
- Twice daily
- Estimated price
- €140–210
- Website
- Renfe Viajeros
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- 4 times a day
- Estimated price
- €50–75
- Website
- Trenitalia
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- €20–35
- Website
- Trenitalia Frecce
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 6h 7m
- Frequency
- Hourly
- Estimated price
- €95–170
- Website
- Trenitalia Frecce
Train from Torino Porta Susa to Reggio Emilia Av
- Ave. Duration
- 1h 47m
- Frequency
- Hourly
- Estimated price
- €40–70
- Website
- Trenitalia Frecce
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 6h 7m
- Frequency
- Hourly
- Estimated price
- €95–170
- Website
- Trenitalia Frecce
Train from Caserta to Foggia
- Ave. Duration
- 1h 59m
- Frequency
- Hourly
- Estimated price
- €22–40
- Website
- Trenitalia Frecce
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 46 min
- Frequency
- Once daily
- Estimated price
- €18–29
- Website
- Italo Treno
Train from Torino Porta Susa to Reggio Emilia Av
- Ave. Duration
- 1h 56m
- Frequency
- Hourly
- Estimated price
- €30–60
- Website
- Italo Treno
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Caserta to Foggia
- Ave. Duration
- 2h 26m
- Frequency
- Twice daily
- Estimated price
- €17–35
- Website
- Trenitalia Intercity
- Phone
- 06 3000
- Website
- Trenitalia ICN
Night train from Torino Lingotto to Bari Centrale
- Ave. Duration
- 13h 25m
- Frequency
- Twice daily
- Estimated price
- €85–150
- Website
- Trenitalia ICN
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Barcelona to Turin
- Ave. Duration
- 11h 50m
- Frequency
- Twice daily
- Estimated price
- €75–120
- Website
- Flixbus
Bus from Marseille, Gare de Marseille-Saint-Charles to Turin
- Ave. Duration
- 6h 35m
- Frequency
- Once daily
- Estimated price
- €40–65
- Website
- Flixbus
Bus from Madrid to Milan
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- €140–220
- Website
- Flixbus
Bus from Milan to Bari
- Ave. Duration
- 11h 30m
- Frequency
- Twice daily
- Estimated price
- €75–120
- Website
- Flixbus
Bus from Nice Airport to Genoa
- Ave. Duration
- 2h 40m
- Frequency
- Every 2 hours
- Estimated price
- €17–26
- Website
- Flixbus
- Phone
- +39 080 579 0211
- info@sitasudtrasporti.it
- Website
- sitasudtrasporti.it
Bus from Bari Airport to Altamura Via Matera
- Ave. Duration
- 50 min
- Frequency
- Every 4 hours
- Estimated price
- €2–6
- Schedules at
- sitasudtrasporti.it
- Book at
- marozzivt.it
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Estación Sur de Autobuses to Nice - Airport Bus Station Terminal 1
- Ave. Duration
- 20h 45m
- Frequency
- Twice daily
- Estimated price
- €100–180
- Website
- BlaBlaCar Bus
Bus from Nice Airport to Genoa
- Ave. Duration
- 3h 10m
- Frequency
- Every 4 hours
- Estimated price
- €14–25
- Website
- BlaBlaCar Bus
- Phone
- +39 0835 522250
- biglietteria@chiruzzi.it
- Website
- chiruzzi.it
Bus from Genova to Bari
- Ave. Duration
- 12h 24m
- Frequency
- Twice a week
- Estimated price
- €60–85
- Schedules at
- chiruzzi.it
Want to know more about travelling around Italy
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
Booking & Getting There
Madrid to Apulia bus services, operated by FlixBus, arrive at Milan station.
Madrid to Apulia train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Apulia is 2314 km. It takes approximately 23h 2m to drive from Madrid to Apulia.
Book your Madrid to Apulia train tickets online with Omio.
Book your Madrid to Apulia bus tickets online with Omio and FlixBus.
There are 4449+ hotels available in Apulia.

















































