There are 8 ways to get from Madrid to Apulia by plane, train (Renfe, Ouigo, Trenitalia, Italo), 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 Bari Karol Wojtyła Airport
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Bari Karol Wojtyła Airport (BRI)plane MAD - BRI
5h 24m€84–224Fly to Brindisi Airport
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Brindisi Airport (BDS)plane MAD - BDS
6h 42m€63–223Train
- 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€221–445Train, ferry
- 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 train from Civitavecchia to Roma Terminitrain Re
- Take the train from Roma Termini to Bari Centraletrain Fa / ...
31h 46m€119–310Bus via Lyon
- Take the bus from Madrid to Lyonbus
- Take the bus from Lyon to Grenoblebus 766 / ...
- Take the bus from Grenoble to Baribus
37h 40m€160–283Train, bus
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Valence Villetrain Tgv
- Take the bus from Valence to Turinbus 740
- Take the train from Torino Porta Susa to Bari Centraletrain Fr
24h 46m€270–550Bus
- Take the bus from Madrid Mendez Alvaro Estacion Sur to Turin Corso Vittorio Emanuele IIbus Union Ivkoni - Unibus 3417 / ...
- Take the bus from Turin Corso Vittorio Emanuele II to Bari FS Park - Via Capruzzibus Itabus
43h 10m€108–161Drive 2,314.4 km
- Drive from Madrid to Baricar 2,314.4 km
22h 59m€359–519
Madrid to Apulia by train
Questions & Answers
The cheapest way to get from Madrid to Apulia is to fly which costs €60 - €230 and takes 6h 42m.
The fastest way to get from Madrid to Apulia is to fly which takes 5h 24m and costs €80 - €230.
No, there is no direct bus from Madrid to Apulia. However, there are services departing from Madrid and arriving at Bari via Lyon and Grenoble. The journey, including transfers, takes approximately 37h 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 3m.
The distance between Madrid and Apulia is 1732 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 €220 - €450.
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 €80 - €230. Alternatively, you can train, which costs €220 - €450 and takes 23h 3m, you could also bus via Lyon, which costs €160 - €290 and takes 37h 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 23h 3m.
- 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, Thursday, Friday, and Sunday
- Estimated price
- €55–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport
- Ave. Duration
- 2h 50m
- When
- Monday
- Estimated price
- €60–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Rome
- Ave. Duration
- 5h 7m
- When
- Monday and Friday
- Estimated price
- €60–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Bologna
- Ave. Duration
- 6h 10m
- When
- Saturday and Sunday
- Estimated price
- €60–200
- 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
- €35–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
- €35–170
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Brindisi Airport via Rome
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- €60–180
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
- €50–75
- Website
- https://www.renfe.com/es/en
- Básico
- €50–75
- 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 20m
- Frequency
- Hourly
- Estimated price
- €27–85
- Website
- https://iryo.eu/en/home
- Inicial
- €27–85
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 28m
- Frequency
- 5 times a day
- Estimated price
- €25–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 29m
- 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
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- Twice daily
- Estimated price
- €25–40
- Website
- https://www.trenitalia.com/en.html
Train from Civitavecchia to Roma Termini
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- €6–9
- 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
- €21–45
- Schedules at
- trenitalia.com
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 6h 7m
- Frequency
- Every 4 hours
- Estimated price
- €100–200
- Schedules at
- trenitalia.com
Train from Civitavecchia to Roma Termini
- Ave. Duration
- 47 min
- Frequency
- 5 times a day
- Estimated price
- €11–22
- Schedules at
- trenitalia.com
Train from Roma Termini to Bari Centrale
- Ave. Duration
- 4h 23m
- Frequency
- Every 4 hours
- Estimated price
- €65–140
- Schedules at
- trenitalia.com
Train from Torino Porta Susa to Bari Centrale
- Ave. Duration
- 8h 7m
- Frequency
- Once daily
- Estimated price
- €140–280
- 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
- €30–45
- Website
- https://www.italotreno.it/en
- Smart Economy
- €30–45
- Smart Flex
- €35–45
- Website
- italotreno.com
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 7h 42m
- Frequency
- Once a week
- Schedules at
- italotreno.com
Train from Torino Porta Susa to Bari Centrale
- Ave. Duration
- 9h 40m
- Frequency
- Once a week
- Schedules at
- italotreno.com
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Civitavecchia to Roma Termini
- Ave. Duration
- 1h 7m
- Frequency
- 3 times a day
- Estimated price
- €7–18
- Website
- https://www.trenitalia.com/en.html
Train from Roma Termini to Bari Centrale
- Ave. Duration
- 6h 29m
- Frequency
- Once daily
- Estimated price
- €45–110
- Website
- https://www.trenitalia.com/en.html
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Barcelona-Sants to Valence Ville
- Ave. Duration
- 4h 46m
- Frequency
- Twice a week
- Estimated price
- €85–150
- Website
- https://www.sncf-connect.com/en-en
- 2nd Class
- €85–120
- 1st Class
- €120–150
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Madrid to Lyon
- Ave. Duration
- 18h 15m
- Frequency
- Once daily
- Estimated price
- €75–140
- Website
- https://www.flixbus.co.uk
Bus from Lyon to Grenoble
- Ave. Duration
- 1h 20m
- Frequency
- Hourly
- Estimated price
- €6–11
- Website
- https://www.flixbus.co.uk
Bus from Grenoble to Bari
- Ave. Duration
- 16h 25m
- Frequency
- Once daily
- Estimated price
- €75–140
- Website
- https://www.flixbus.co.uk
Bus from Valence to Turin
- Ave. Duration
- 5h 25m
- Frequency
- Once daily
- Estimated price
- €20–35
- Website
- https://www.flixbus.co.uk
- 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
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Turin Corso Vittorio Emanuele II to Bari FS Park - Via Capruzzi
- Ave. Duration
- 13h 40m
- Frequency
- Once daily
- Estimated price
- €30–50
- Website
- https://www.itabus.it/en/home
- 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
- €40–60
- 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 Lyon 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 22h 59m 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 4029+ hotels available in Apulia.














































