There are 11 ways to get from Madrid to Apulia by plane, train (Renfe, Ouigo, Trenitalia), train, ferry, bus, train (Renfe, Ouigo, TGV, Trenitalia), 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 Brindisi Airport
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brindisi Airport (BDS)plane MAD - BDS
6h 42m€62–163Train
- 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
23h 3m€313–641Train, ferry, bus
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the ferry from Port de Barcelona to Port of Civitavecchiaferry
- Take the bus from Port of Civitavecchia to Rome Termini Piazza Indipendenzabus
- Take the train from Roma Termini to Bari Centraletrain Fr / ...
32h 12m€220–499Bus
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Milan to Baribus FlixBus N436
35h 35m€190–325Fly to Bari Karol Wojtyła Airport, bus
- 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–168Fly 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 51m€73–211Fly 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 48m€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€102–376Train via Turin
- 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 46m€310–776Bus, train
- Take the bus from Estación Sur de Autobuses to Nice - Airport Bus Station Terminal 1bus
- Take the train from Nice Saint-Augustin to Ventimigliatrain C3
- Take the train from Ventimiglia to Savonatrain Ic
- Take the bus from Savona to Baribus
37h 59mDrive 2,314.4 km
- Drive from Madrid to Baricar 2,314.4 km
23h 2m€369–533
Madrid to Apulia by train
Questions & Answers
The cheapest way to get from Madrid to Apulia is to fly and bus which costs €60 - €170 and takes 6h 55m.
The fastest way to get from Madrid to Apulia is to fly which takes 6h 42m and costs €60 - €170.
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 23h 3m.
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 3m and costs €310 - €650.
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 €60 - €170. Alternatively, you can train, which costs €310 - €650 and takes 23h 3m, you could also bus, which costs €190 - €330 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) 4 times a day. 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 23h 3m.
- 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–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Bologna
- Ave. Duration
- 4h 55m
- When
- Tuesday and Wednesday
- Estimated price
- €60–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Fiumicino International Airport
- Ave. Duration
- 6h 20m
- When
- Sunday
- Estimated price
- €60–140
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–140
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–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €45–130
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Palma Mallorca
- Ave. Duration
- 4h 10m
- When
- Wednesday
- Estimated price
- €45–130
- 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, Monday, and Tuesday
- Estimated price
- €50–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €55–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €45–120
- 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, Monday, and Tuesday
- Estimated price
- €50–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €55–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €45–120
- 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
- €80–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €45–140
- 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–140
- 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
- €140–550
Flights from Adolfo Suárez Madrid–Barajas Airport to Foggia Gino Lisa Airport via Milan Bergamo
- Ave. Duration
- 13h 30m
- When
- Sunday
- Estimated price
- €100–370
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
- €140–550
- 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
- €140–550
Flights from Adolfo Suárez Madrid–Barajas Airport to Foggia Gino Lisa Airport via Milan Bergamo
- Ave. Duration
- 13h 30m
- When
- Sunday
- Estimated price
- €100–370
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
- €140–550
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €29–130
Rome2Rio's guide to Renfe AVE
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 22m
- Frequency
- Every 30 minutes
- Estimated price
- €95–170
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 22m
- Frequency
- Every 30 minutes
- Estimated price
- €95–170
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 22m
- Frequency
- Every 30 minutes
- Estimated price
- €95–170
- 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
- 3h 21m
- Frequency
- Hourly
- Estimated price
- €70–150
- Website
- https://iryo.eu/en/home
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 21m
- Frequency
- Hourly
- Estimated price
- €70–150
- Website
- https://iryo.eu/en/home
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 21m
- Frequency
- Hourly
- Estimated price
- €70–150
- Website
- https://iryo.eu/en/home
- Phone
- +34 900 759 781
- Website
- ouigo.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 2 hours
- Estimated price
- €60–110
- Website
- https://www.ouigo.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 2 hours
- Estimated price
- €60–110
- Website
- https://www.ouigo.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 2 hours
- Estimated price
- €60–110
- Website
- https://www.ouigo.com/es/en
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €75–120
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Twice daily
- Estimated price
- €80–130
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €75–120
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €75–120
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 29m
- Frequency
- Twice daily
- Estimated price
- €65–110
- Website
- https://www.renfe.com/es/en
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- 4 times a day
- Estimated price
- €55–90
- Website
- https://www.trenitalia.com/en.html
Train from Chambery Challes Les Eaux to Torino Porta Susa
- Ave. Duration
- 2h 34m
- Frequency
- 4 times a day
- Estimated price
- €24–40
- Website
- https://www.trenitalia.com/en.html
Train from Ventimiglia to Savona
- Ave. Duration
- 1h 57m
- Frequency
- Every 30 minutes
- Estimated price
- €12–20
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €22–45
- Schedules at
- trenitalia.com
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 6h 7m
- Frequency
- Hourly
- Estimated price
- €100–210
- Schedules at
- trenitalia.com
Train from Roma Termini to Bari Centrale
- Ave. Duration
- 4h 22m
- Frequency
- Hourly
- Estimated price
- €70–140
- Schedules at
- trenitalia.com
Train from Caserta to Foggia
- Ave. Duration
- 1h 59m
- Frequency
- Hourly
- Estimated price
- €23–45
- Schedules at
- trenitalia.com
Train from Roma Termini to Foggia
- Ave. Duration
- 3h 7m
- Frequency
- Hourly
- Estimated price
- €50–110
- Schedules at
- trenitalia.com
Train from Torino Porta Susa to Reggio Emilia Av
- Ave. Duration
- 1h 48m
- Frequency
- Hourly
- Estimated price
- €40–85
- Schedules at
- trenitalia.com
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 6h 7m
- Frequency
- Hourly
- Estimated price
- €100–210
- Schedules at
- trenitalia.com
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 54 min
- Frequency
- Once daily
- Estimated price
- €18–40
- Website
- https://www.italotreno.it/en
Train from Roma Termini to Foggia
- Ave. Duration
- 3h 15m
- Frequency
- Once daily
- Estimated price
- €40–90
- Website
- https://www.italotreno.it/en
Train from Torino Porta Susa to Reggio Emilia Av
- Ave. Duration
- 1h 56m
- Frequency
- Every 4 hours
- Estimated price
- €35–70
- Website
- https://www.italotreno.it/en
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Roma Termini to Bari Centrale
- Ave. Duration
- 6h 34m
- Frequency
- Twice daily
- Estimated price
- €50–110
- Website
- https://www.trenitalia.com/en.html
Train from Caserta to Foggia
- Ave. Duration
- 2h 26m
- Frequency
- Twice daily
- Estimated price
- €16–35
- Website
- https://www.trenitalia.com/en.html
Train from Roma Termini to Foggia
- Ave. Duration
- 5h 3m
- Frequency
- Twice daily
- Estimated price
- €35–80
- Website
- https://www.trenitalia.com/en.html
Train from Ventimiglia to Savona
- Ave. Duration
- 1h 21m
- Frequency
- Hourly
- Estimated price
- €10–22
- Website
- https://www.trenitalia.com/en.html
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 26m
- Frequency
- 5 times a day
- Estimated price
- €120–190
- Website
- https://www.sncf-connect.com/en-en
Train from Chambery Challes Les Eaux to Torino Porta Susa
- Ave. Duration
- 2h 39m
- Frequency
- Every 4 hours
- Estimated price
- €40–70
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eaux
- Ave. Duration
- 1h 56m
- Frequency
- Hourly
- Estimated price
- €26–55
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- Phone
- +33 4 13 94 30 50
- Website
- zou.maregionsud.fr
Train from Nice Saint-Augustin to Ventimiglia
- Ave. Duration
- 1h 2m
- Frequency
- Every 30 minutes
- Schedules at
- zou.maregionsud.fr
- Phone
- (+39) 06 5916826
- sit@sitbus.com
- Website
- sitbusshuttle.com
Bus from Port of Civitavecchia to Rome Termini Piazza Indipendenza
- Ave. Duration
- 1h 15m
- Frequency
- Once daily
- Estimated price
- €17–40
- Website
- https://www.sitbusshuttle.com/en/
- Website
- https://www.sitbusshuttle.com/
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- https://www.flixbus.fr
Bus from Madrid to Milan
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- €120–210
- Website
- https://www.flixbus.co.uk
Bus from Milan to Bari
- Ave. Duration
- 11h 30m
- Frequency
- Twice daily
- Estimated price
- €65–120
- Website
- https://www.flixbus.co.uk
- 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.co.uk
Bus from Estación Sur de Autobuses to Nice - Airport Bus Station Terminal 1
- Ave. Duration
- 20h 45m
- Frequency
- Once daily
- Estimated price
- €120–220
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +39 0835 522250
- biglietteria@chiruzzi.it
- Website
- chiruzzi.it
Bus from Savona to Bari
- Ave. Duration
- 13h 2m
- Frequency
- Twice a week
- Estimated price
- €60–90
- Schedules at
- chiruzzi.it
- Phone
- +39.081.496.444
- info@grimaldi.napoli.it
- Website
- grimaldi-lines.com
Ferry from Port de Barcelona to Port of Civitavecchia
- Ave. Duration
- 20h
- Frequency
- 5 times a week
- Estimated price
- €90–150
- Website
- https://www.grimaldi-lines.com/en/
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 4496+ hotels available in Apulia.



























































