There are 11 ways to get from Madrid to Apulia by plane, train (Renfe, Ouigo, Trenitalia), bus, car, train, train (Renfe, Ouigo, TGV, Trenitalia), or train (Renfe, Trenitalia)
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–203Fly 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–198Train
- 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 10m€310–620Bus
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Milan to Baribus FlixBus N436
35h 35m€177–304Drive 2,314.4 km
- Drive from Madrid to Baricar 2,314.4 km
23h 2m€365–527Fly 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 13m€73–251Fly 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
9h 30m€75–289Fly 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€172–486Train via Saint-Marcel-lès-Valence
- 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 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 50m€309–715Bus via Nice Airport (NCE)
- Take the bus from Madrid - South Station to Nice - Airport Bus Station Terminal 1bus
- Take the bus from Nice Airport to Genoabus 798 / ...
- Take the bus from Genova to Baribus
38h 13m€187–315Train #2
- Take the train from Madrid Chamartín to Iruntrain Alv / ...
- Take the train from Hendaye to Lourdestrain Ter
- Take the train from Lourdes to Casertatrain
- Take the train from Caserta to Bari Centraletrain Fa / ...
46h 32m€335–596
Madrid to Apulia by train
Questions & Answers
The cheapest way to get from Madrid to Apulia is to fly and bus which costs €60 - €200 and takes 6h 55m.
The fastest way to get from Madrid to Apulia is to fly which takes 6h 42m and costs €65 - €210.
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 10m.
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 10m 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 - €210. Alternatively, you can train, which costs €310 - €650 and takes 23h 10m, you could also bus, which costs €170 - €310 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) 3 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 10m.
- 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–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Bologna
- Ave. Duration
- 4h 55m
- When
- Tuesday and Wednesday
- Estimated price
- €60–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Fiumicino International Airport
- Ave. Duration
- 6h 20m
- When
- Sunday
- Estimated price
- €60–190
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–160
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–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Naples Airport via Palma Mallorca
- Ave. Duration
- 5h 55m
- When
- Thursday
- Estimated price
- €55–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 25m
- When
- Tuesday, Thursday, Sunday, Monday, Wednesday, and Saturday
- Estimated price
- €45–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Palma Mallorca
- Ave. Duration
- 4h 10m
- When
- Wednesday
- Estimated price
- €45–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport via Ibiza
- Ave. Duration
- 4h 22m
- When
- Thursday and Wednesday
- Estimated price
- €45–160
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport via Barcelona
- Ave. Duration
- 5h 20m
- When
- Wednesday to Friday
- Estimated price
- €150–220
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 Naples Airport via Barcelona
- Ave. Duration
- 4h 10m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €100–260
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €40–110
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport via Barcelona
- Ave. Duration
- 5h 20m
- When
- Wednesday to Friday
- Estimated price
- €150–220
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 Naples Airport via Barcelona
- Ave. Duration
- 4h 10m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €100–260
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €40–110
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Fiumicino International Airport
- Ave. Duration
- 4h 45m
- When
- Every day
- Estimated price
- €80–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €45–210
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Fiumicino International Airport
- Ave. Duration
- 4h 55m
- When
- Every day
- Estimated price
- €80–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- €45–210
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Fiumicino International Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €30–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
- €120–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–380
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–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
- €120–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–380
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–550
Rome2Rio's guide to Renfe AVE
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 2m
- Frequency
- Hourly
- Estimated price
- €90–160
- 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 24m
- Frequency
- Every 2 hours
- Estimated price
- €70–130
- 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 27m
- Frequency
- 5 times a day
- Estimated price
- €60–95
- Website
- https://www.ouigo.com/es/en
Rome2Rio's guide to Renfe Viajeros
Contact 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
- Twice daily
- Estimated price
- €70–120
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Once daily
- 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
- Once daily
- Estimated price
- €65–100
- Website
- https://www.renfe.com/es/en
Train from Madrid Chamartín to Irun
- Ave. Duration
- 5h 43m
- Frequency
- 3 times a day
- 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
- Twice daily
- Estimated price
- €55–90
- Website
- https://www.trenitalia.com/en.html
Train from Chambery Challes Les Eaux to Milano Centrale
- Ave. Duration
- 3h 21m
- Frequency
- Twice daily
- Estimated price
- €40–70
- Website
- https://www.trenitalia.com/en.html
Train from Lourdes to Caserta
- Ave. Duration
- 31h 58m
- Frequency
- Once a week
- Estimated price
- €210–350
- 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
- Hourly
- Estimated price
- €22–45
- Schedules at
- trenitalia.com
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 6h 7m
- Frequency
- Every 3 hours
- Estimated price
- €100–210
- Schedules at
- trenitalia.com
Train from Caserta to Foggia
- Ave. Duration
- 1h 59m
- Frequency
- Every 4 hours
- Estimated price
- €23–45
- Schedules at
- trenitalia.com
Train from Roma Termini to Foggia
- Ave. Duration
- 3h 8m
- Frequency
- Every 4 hours
- Estimated price
- €50–110
- Schedules at
- trenitalia.com
Train from Caserta to Bari Centrale
- Ave. Duration
- 3h 14m
- Frequency
- Every 4 hours
- Estimated price
- €40–80
- Schedules at
- trenitalia.com
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 46 min
- Frequency
- Once daily
- Estimated price
- €19–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 Caserta to Foggia
- Ave. Duration
- 2h 32m
- 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
- Once daily
- Estimated price
- €35–80
- Website
- https://www.trenitalia.com/en.html
Train from Caserta to Bari Centrale
- Ave. Duration
- 3h 34m
- Frequency
- Twice daily
- Estimated price
- €29–65
- 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 24m
- Frequency
- Twice daily
- Estimated price
- €110–180
- 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
- €24–55
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
Train from Hendaye to Lourdes
- Ave. Duration
- 2h 15m
- Frequency
- Once daily
- Estimated price
- €28–60
- 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 Madrid to Milan
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- €110–200
- Website
- https://www.flixbus.co.uk
Bus from Milan to Bari
- Ave. Duration
- 11h 30m
- Frequency
- Twice daily
- Estimated price
- €60–110
- Website
- https://www.flixbus.co.uk
Bus from Nice Airport to Genoa
- Ave. Duration
- 3h 10m
- Frequency
- Hourly
- Estimated price
- €14–24
- 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-389-268-0068
- Website
- blablacar.co.uk
Bus from Madrid - South Station to Nice - Airport Bus Station Terminal 1
- Ave. Duration
- 20h 45m
- Frequency
- Twice daily
- Estimated price
- €100–200
- Website
- https://www.blablacar.co.uk/bus
Bus from Nice Airport to Genoa
- Ave. Duration
- 3h 10m
- Frequency
- Every 4 hours
- Estimated price
- €14–27
- Website
- https://www.blablacar.co.uk/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 4386+ hotels available in Apulia.

























































