There are 10 ways to get from Madrid to Apulia by plane, train (Renfe, Ouigo, TGV, Trenitalia), bus, car, train, 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
6h 42m€67–183Fly 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
6h 55m€63–168Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sudtrain Tgv
- Take the train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eauxtrain Ter
- Take the train from Chambery Challes Les Eaux to Torino Porta Susatrain Tgv
- Take the train from Torino Porta Susa to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Bari Centraletrain Fr
23h 36m€304–786Bus
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Milan Lampugnano to Bari FS Park - Via Capruzzibus Itabus
35h 40m€189–337Drive 2,314.4 km
- Drive from Madrid to Baricar 2,314.4 km
23h 2m€363–524Fly 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
8h 49m€69–226Fly to Fiumicino International Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Fiumicino International Airport (FCO)plane MAD - FCO
- Take the train from Roma Termini to Foggiatrain
8h 50m€69–249Fly to Foggia Gino Lisa Airport
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Foggia Gino Lisa Airport (FOG)plane MAD - FOG
12h 26m€122–556Train, 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 9m€272–477Bus 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 Bus Station Terminal 1 to Genoa - Via Fanti d'Italia Bus Stopbus
- Take the bus from Genova to Baribus
38h 43m€205–346
Madrid to Apulia by train
Questions & Answers
The cheapest way to get from Madrid to Apulia is to fly and train which costs €65 - €230 and takes 8h 49m.
The fastest way to get from Madrid to Apulia is to fly which takes 6h 42m and costs €65 - €190.
No, there is no direct bus from Madrid to Apulia. However, there are services departing from Madrid and arriving at Bari FS Park - Via Capruzzi via Milan Lampugnano. The journey, including transfers, takes approximately 35h 40m.
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, Valence Tgv Rhone-Alpes Sud, Chambery Challes Les Eaux, Torino Porta Susa and Reggio Emilia Av. The journey, including transfers, takes approximately 23h 36m.
The distance between Madrid and Apulia is 1831 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 23h 36m and costs €300 - €800.
It takes approximately 6h 42m 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 6h 42m and costs €65 - €190. Alternatively, you can train, which costs €300 - €800 and takes 23h 36m, you could also bus, which costs €180 - €340 and takes 35h 40m.
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) 4 times a day. Alternatively, you can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Bari Centrale via Barcelona-Sants, Valence Tgv Rhone-Alpes Sud, Chambery Challes Les Eaux, Torino Porta Susa, and Reggio Emilia Av in around 23h 36m.
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport
- Ave. Duration
- 2h 50m
- When
- Monday and Thursday
- Estimated price
- €60–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Bologna
- Ave. Duration
- 4h 55m
- When
- Wednesday
- Estimated price
- €60–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Fiumicino International Airport
- Ave. Duration
- 6h 20m
- When
- Sunday
- Estimated price
- €60–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 2h 45m
- When
- Monday, Wednesday, Friday, and Saturday
- Estimated price
- €55–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 35m
- When
- Monday, Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- €55–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €45–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Palma Mallorca
- Ave. Duration
- 4h 10m
- When
- Wednesday
- Estimated price
- €45–140
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport via Barcelona
- Ave. Duration
- 5h 16m
- When
- Wednesday, Friday, and Monday
- Estimated price
- €45–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €60–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €45–130
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport via Barcelona
- Ave. Duration
- 5h 16m
- When
- Wednesday, Friday, and Monday
- Estimated price
- €45–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €60–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €45–130
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Fiumicino International Airport
- Ave. Duration
- 4h 41m
- When
- Every day
- Estimated price
- €85–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €45–180
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 24m
- When
- Every day
- Estimated price
- €45–180
- Website
- aeroitalia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Foggia Gino Lisa Airport via Turin
- Ave. Duration
- 9h 25m
- When
- Monday and Friday
- Estimated price
- €120–450
Flights from Adolfo Suárez Madrid–Barajas Airport to Foggia Gino Lisa Airport via Milan Bergamo
- Ave. Duration
- 13h 30m
- When
- Sunday
- Estimated price
- €120–500
Flights from Adolfo Suárez Madrid–Barajas Airport to Foggia Gino Lisa Airport via Milan Linate
- Ave. Duration
- 13h 35m
- When
- Every day
- Estimated price
- €120–450
- Website
- flexflight.dk
Flights from Adolfo Suárez Madrid–Barajas Airport to Foggia Gino Lisa Airport via Turin
- Ave. Duration
- 9h 25m
- When
- Monday and Friday
- Estimated price
- €120–450
Flights from Adolfo Suárez Madrid–Barajas Airport to Foggia Gino Lisa Airport via Milan Bergamo
- Ave. Duration
- 13h 30m
- When
- Sunday
- Estimated price
- €120–500
Flights from Adolfo Suárez Madrid–Barajas Airport to Foggia Gino Lisa Airport via Milan Linate
- Ave. Duration
- 13h 35m
- When
- Every day
- Estimated price
- €120–450
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €27–120
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 22m
- Frequency
- Every 30 minutes
- Estimated price
- €95–170
- 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
- €60–130
- Website
- Iryo
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 2 hours
- Estimated price
- €55–100
- 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
- €80–120
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 29m
- Frequency
- Twice daily
- Estimated price
- €70–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–230
- Website
- Renfe Viajeros
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 26m
- Frequency
- 5 times a day
- Estimated price
- €110–180
- Website
- TGV inOui
Train from Chambery Challes Les Eaux to Torino Porta Susa
- Ave. Duration
- 2h 39m
- Frequency
- Every 4 hours
- Estimated price
- €40–65
- Website
- TGV inOui
- Phone
- +33 1 84 94 36 35
- Website
- Oui.SNCF
Train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eaux
- Ave. Duration
- 1h 56m
- Frequency
- Hourly
- Estimated price
- €26–55
- Website
- Oui.SNCF
- Phone
- +33 4 13 94 30 50
- Website
- Zou! Lignes Express Régionales
Train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eaux
- Ave. Duration
- 1h 56m
- Frequency
- Every 2 hours
- Estimated price
- €40–80
- Website
- Zou! Lignes Express Régionales
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Chambery Challes Les Eaux to Torino Porta Susa
- Ave. Duration
- 2h 34m
- Frequency
- 4 times a day
- Estimated price
- €24–40
- Website
- Trenitalia
- Phone
- +39 06 68475475
- Website
- Trenitalia Frecce
Train from Torino Porta Susa to Reggio Emilia Av
- Ave. Duration
- 1h 50m
- Frequency
- Hourly
- Estimated price
- €40–85
- Schedules at
- Trenitalia Frecce
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 6h 7m
- Frequency
- Hourly
- Estimated price
- €100–210
- Schedules at
- Trenitalia Frecce
Train from Caserta to Foggia
- Ave. Duration
- 1h 59m
- Frequency
- Hourly
- Estimated price
- €23–50
- Schedules at
- Trenitalia Frecce
Train from Roma Termini to Foggia
- Ave. Duration
- 3h 7m
- Frequency
- Hourly
- Estimated price
- €50–110
- Schedules at
- Trenitalia Frecce
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Torino Porta Susa to Reggio Emilia Av
- Ave. Duration
- 2h 6m
- Frequency
- Hourly
- Estimated price
- €35–75
- Website
- Italo Treno
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 9h 5m
- Frequency
- Twice daily
- Estimated price
- €90–180
- Website
- Italo Treno
Train from Caserta to Foggia
- Ave. Duration
- 2h 28m
- Frequency
- Twice daily
- Estimated price
- €20–40
- Website
- Italo Treno
Train from Roma Termini to Foggia
- Ave. Duration
- 3h 15m
- Frequency
- Once daily
- Estimated price
- €45–90
- Website
- Italo Treno
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Caserta to Foggia
- Ave. Duration
- 2h 26m
- Frequency
- Twice daily
- Estimated price
- €16–35
- Website
- Trenitalia Intercity
Train from Roma Termini to Foggia
- Ave. Duration
- 5h 3m
- Frequency
- Twice daily
- Estimated price
- €35–80
- Website
- Trenitalia Intercity
- Phone
- 06 3000
- Website
- Trenitalia ICN
Night train from Torino Lingotto to Bari Centrale
- Ave. Duration
- 12h 52m
- Frequency
- 3 times a day
- Estimated price
- €90–190
- Website
- Trenitalia ICN
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Madrid to Milan
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- €130–220
- Website
- Flixbus
Bus from Milan Lampugnano to Bari FS Park - Via Capruzzi
- Ave. Duration
- 11h 30m
- Frequency
- Twice daily
- Estimated price
- €70–120
- Website
- Flixbus
Bus from Marseille, Gare de Marseille-Saint-Charles to Turin
- Ave. Duration
- 6h 35m
- Frequency
- Once daily
- Estimated price
- €35–65
- Website
- Flixbus
- Phone
- +39 06 88 93 82 32
- Website
- Itabus S.p.A.
Bus from Milan Lampugnano to Bari FS Park - Via Capruzzi
- Ave. Duration
- 11h 35m
- Frequency
- Twice daily
- Estimated price
- €55–120
- Website
- Itabus S.p.A.
- 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
- Once daily
- Estimated price
- €120–230
- Website
- BlaBlaCar Bus
Bus from Nice - Airport Bus Station Terminal 1 to Genoa - Via Fanti d'Italia Bus Stop
- Ave. Duration
- 3h 10m
- Frequency
- Every 4 hours
- Estimated price
- €17–35
- 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
More Questions & Answers
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 4599+ hotels available in Apulia.





























































