There are 10 ways to get from Madrid to Apulia by plane, train (Renfe, Ouigo, Trenitalia), train, ferry, 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 Brindisi Airport
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brindisi Airport (BDS)plane MAD - BDS
6h 42m€67–173Fly 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 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 9m€312–640Train, 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 11m€203–478Bus
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Milan Lampugnano to Bari FS Park - Via Capruzzibus Itabus
35h 40m€191–353Fly 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 53m€75–206Fly 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–239Fly 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–376Bus, 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 52m€211–364Drive 2,314.4 km
- Drive from Madrid to Baricar 2,314.4 km
23h 2m€367–530
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 €65 - €180.
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, Lyon Part Dieu, Milano Centrale and Reggio Emilia Av. The journey, including transfers, takes approximately 23h 9m.
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 9m 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 €65 - €180. Alternatively, you can train, which costs €310 - €650 and takes 23h 9m, you could also bus, which costs €190 - €360 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, Lyon Part Dieu, Milano Centrale, and Reggio Emilia Av in around 23h 9m.
- 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–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Bologna
- Ave. Duration
- 4h 55m
- When
- Wednesday
- Estimated price
- €60–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Fiumicino International Airport
- Ave. Duration
- 6h 20m
- When
- Sunday
- Estimated price
- €60–150
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
- €60–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–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €45–120
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Palma Mallorca
- Ave. Duration
- 4h 10m
- When
- Wednesday
- Estimated price
- €45–120
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport via Barcelona
- Ave. Duration
- 4h 40m
- When
- Tuesday, Wednesday, and Friday
- Estimated price
- €50–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €60–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €45–110
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport via Barcelona
- Ave. Duration
- 4h 40m
- When
- Tuesday, Wednesday, and Friday
- Estimated price
- €50–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €60–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €45–110
- 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
- €40–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
- €40–140
- 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–480
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
- €130–480
- 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–480
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
- €130–480
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €28–120
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
- 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 31m
- Frequency
- Hourly
- Estimated price
- €65–140
- Website
- https://iryo.eu/en/home
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 31m
- Frequency
- Hourly
- Estimated price
- €65–140
- 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
- €55–100
- 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
- €55–100
- 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
- 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 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–50
- Schedules at
- trenitalia.com
Train from Roma Termini to Foggia
- Ave. Duration
- 3h 7m
- Frequency
- Hourly
- Estimated price
- €50–110
- Schedules at
- trenitalia.com
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 1h 5m
- 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
- €45–90
- Website
- https://www.italotreno.it/en
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Roma Termini to Bari Centrale
- Ave. Duration
- 6h 32m
- 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
- €17–35
- Website
- https://www.trenitalia.com/en.html
Train from Roma Termini to Foggia
- Ave. Duration
- 5h 1m
- 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 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
- +33 4 13 94 30 50
- Website
- zou.maregionsud.fr
Train from Nice Saint-Augustin to Ventimiglia
- Ave. Duration
- 1h 4m
- Frequency
- Hourly
- Estimated price
- €10–21
- Website
- https://zou.maregionsud.fr/en/
- 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
- €16–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
- €130–230
- Website
- https://www.flixbus.co.uk
Bus from Milan Lampugnano to Bari FS Park - Via Capruzzi
- Ave. Duration
- 11h 30m
- Frequency
- Twice daily
- Estimated price
- €70–130
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Milan Lampugnano to Bari FS Park - Via Capruzzi
- Ave. Duration
- 11h 35m
- Frequency
- Twice daily
- Estimated price
- €55–110
- Website
- https://www.itabus.it/en/home
- 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–230
- 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
- €75–130
- 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 4547+ hotels available in Apulia.



















































