There are 8 ways to get from Madrid to Apulia by plane, train (Renfe, Ouigo, Trenitalia), bus, car, train (Renfe, Ouigo, TGV, Trenitalia), train (Renfe, Trenitalia), or 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 Bari Karol Wojtyła Airport
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Bari Karol Wojtyła Airport (BRI)MAD - BRI
5h 24m€88–224Fly to Brindisi Airport
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brindisi Airport (BDS)MAD - BDS
6h 42m€69–234Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-SantsAve
- Take the train from Barcelona-Sants to Lyon Part Dieu
- Take the train from Lyon Part Dieu to Milano CentraleFr
- Take the train from Milano Centrale to Reggio Emilia AvFr
- Take the train from Reggio Emilia Av to Bari CentraleFr
22h 31m€196–547Bus
- Take the bus from Madrid to MilanFlixBus N1138
- Take the bus from Milano, Autostazione Lampugnano to Bari FS Park - Via CapruzziItabus
35h 40m€101–293Drive 2,314.6 km
- Drive from Madrid to Bari2,314.6 km
22h 52m€360–519Train via Saint-Marcel-lès-Valence
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-SantsAve
- Take the train from Barcelona-Sants to Valence Tgv Rhone-Alpes SudTgv
- Take the train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les EauxTer
- Take the train from Chambery Challes Les Eaux to Milano CentraleFr
- Take the train from Milano Centrale to Reggio Emilia AvFr
- Take the train from Reggio Emilia Av to Bari CentraleFr
23h 9m€211–662Train #2
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charles
- Take the train from Marseille St Charles to Roma Termini
- Take the train from Roma Termini to Bari CentraleFr / ...
30h 31m€263–572Bus, train
- Take the bus from Madrid Mendez Alvaro Estacion Sur to Turin Corso Vittorio Emanuele IIUnion Ivkoni - Unibus 3417 / ...
- Take the train from Torino Porta Susa to Bari Centrale9939
39h 27m€143–301
Madrid to Apulia by train
Questions & Answers
The cheapest way to get from Madrid to Apulia is to fly which costs €85 - €230 and takes 5h 24m.
The fastest way to get from Madrid to Apulia is to fly which takes 5h 24m and costs €85 - €230.
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 Milano, Autostazione 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 22h 31m.
The distance between Madrid and Apulia is 1732 km. The road distance is 2314.6 km.
The best way to get from Madrid to Apulia without a car is to train which takes 22h 31m and costs €190 - €550.
It takes approximately 5h 24m 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 24m and costs €85 - €230. Alternatively, you can train, which costs €190 - €550 and takes 22h 31m, you could also bus, which costs €100 - €300 and takes 35h 40m.
What companies run services between Madrid, Spain and Apulia, Italy?
Ryanair, Iberia, and Vueling Airlines fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Bari Karol Wojtyła Airport (BRI) twice 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 31m.
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 2h 55m
- When
- Monday, Tuesday, Wednesday, Friday, and Sunday
- Estimated price
- €55–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport
- Ave. Duration
- 2h 50m
- When
- Monday
- Estimated price
- €65–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Rome
- Ave. Duration
- 5h 7m
- When
- Monday and Friday
- Estimated price
- €65–210
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport via Barcelona
- Ave. Duration
- 5h 6m
- When
- Monday, Wednesday, Saturday, and Sunday
- Estimated price
- €40–170
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Bari Karol Wojtyła Airport via Barcelona
- Ave. Duration
- 5h 6m
- When
- Monday, Wednesday, Saturday, and Sunday
- Estimated price
- €40–170
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Rome
- Ave. Duration
- 5h
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €65–190
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
- 2h 37m
- Frequency
- Hourly
- Estimated price
- €45–180
- 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
- 2h 57m
- Frequency
- Hourly
- Estimated price
- €40–130
- Website
- https://iryo.eu/en/home
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 2m
- Frequency
- Every 4 hours
- Estimated price
- €35–80
- 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 4m
- Frequency
- Twice daily
- Estimated price
- €45–65
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Once daily
- Estimated price
- €50–75
- 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
- €45–60
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charles
- Ave. Duration
- 8h 15m
- Frequency
- Once daily
- Estimated price
- €90–130
- 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 37m
- Frequency
- Twice daily
- Estimated price
- €50–140
- Website
- https://www.trenitalia.com/en.html
Train from Chambery Challes Les Eaux to Milano Centrale
- Ave. Duration
- 3h 13m
- Frequency
- Twice daily
- Estimated price
- €50–140
- Website
- https://www.trenitalia.com/en.html
Train from Marseille St Charles to Roma Termini
- Ave. Duration
- 16h 2m
- Frequency
- Once a week
- Estimated price
- €140–290
- 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–35
- Schedules at
- trenitalia.com
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 6h 7m
- Frequency
- Every 4 hours
- Estimated price
- €45–120
- Schedules at
- trenitalia.com
- Super Economy
- €45–60
- Base Standard
- €65–95
- Base Premium
- €80–120
Train from Roma Termini to Bari Centrale
- Ave. Duration
- 4h 14m
- Frequency
- 5 times a day
- Estimated price
- €35–160
- 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
- Every 3 hours
- Estimated price
- €16–35
- Website
- https://www.italotreno.it/en
Train from Torino Porta Susa to Bari Centrale
- Ave. Duration
- 9h 37m
- Frequency
- Once daily
- Estimated price
- €65–190
- Website
- https://www.italotreno.it/en
- 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
- €35–130
- 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 55m
- Frequency
- Hourly
- Estimated price
- €30–60
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Roma Termini to Bari Centrale
- Ave. Duration
- 6h 29m
- Frequency
- Twice daily
- Estimated price
- €30–70
- Website
- https://www.trenitalia.com/en.html
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Madrid to Milan
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- €75–160
- Website
- https://www.flixbus.co.uk
Bus from Milano, Autostazione Lampugnano to Bari FS Park - Via Capruzzi
- Ave. Duration
- 11h 30m
- Frequency
- Once daily
- Estimated price
- €25–120
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Milano, Autostazione Lampugnano to Bari FS Park - Via Capruzzi
- Ave. Duration
- 11h 35m
- Frequency
- Twice daily
- Estimated price
- €30–140
- Website
- https://www.itabus.it/en/home
- Phone
- 07001 8282
- booking@union-ivkoni.com
- Website
- union-ivkoni.com
Bus from Madrid Mendez Alvaro Estacion Sur to Turin Corso Vittorio Emanuele II
- Ave. Duration
- 28h 30m
- Frequency
- Twice a week
- Estimated price
- €75–120
- Website
- https://union-ivkoni.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 2315 km. It takes approximately 22h 52m 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 4065+ hotels available in Apulia.


















































