There are 11 ways to get from Zagreb to Apulia by shuttle, plane, bus, train, ferry, train (Trenitalia), car, or car ferry
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Shuttle, shuttle to Trieste – Friuli Venezia Giulia Airport, fly to Brindisi Airport
best- Take a shuttle bus from Zagreb to Ljubljana
- Take a shuttle bus from Ljubljana to Trieste Airport
- Fly from Trieste – Friuli Venezia Giulia Airport (TRS) to Brindisi Airport (BDS)plane TRS - BDS
6h 8m€85–668Fly Zagreb Franjo Tuđman Airport to Bari Karol Wojtyła Airport, bus
cheapest- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Bari Karol Wojtyła Airport (BRI)plane ZAG - BRI
- Take the bus from Bari Airport to Altamura Via Materabus
7h 5m€63–228Bus, train
- Take the bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postajabus
- Take the bus from Novo Mesto, Avtobusna postaja to Stazione Mestrebus
- Take the train from Venezia Mestre to Bologna Centraletrain Fr
- Take the train from Bologna Centrale to Bari Centraletrain Fr
13h 9m€463–943Bus, ferry
- Take the bus from Zagreb to Split, Autobusni Kolodvorbus 924 / ...
- Take the ferry from Split to Bariferry 56
16h 40m€184–312Bus
- Take the bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postajabus
- Take the bus from Novo Mesto, Avtobusna postaja to Verona Porta Nuovabus
- Take the bus from Verona Porta Nuova Station to Baribus
18h 10m€242–1,088Fly Zagreb Franjo Tuđman Airport to Brindisi Airport
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Brindisi Airport (BDS)plane ZAG - BDS
7h 4m€77–243Shuttle, shuttle to Trieste – Friuli Venezia Giulia Airport, fly to Bari Karol Wojtyła Airport, bus
- Take a shuttle bus from Zagreb to Ljubljana
- Take a shuttle bus from Ljubljana to Trieste Airport
- Fly from Trieste – Friuli Venezia Giulia Airport (TRS) to Bari Karol Wojtyła Airport (BRI)plane TRS - BRI
- Take the bus from Bari Airport to Altamura Via Materabus
7h 34m€91–683Fly Zagreb Franjo Tuđman Airport to Dubrovnik Airport, ferry
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Dubrovnik Airport (DBV)plane ZAG - DBV
- Take the ferry from Dubrovnik to Bariferry
12h 51m€143–255Train
- Take the train from Zagreb Glavni Kol. to Ljubljanatrain 318 / ...
- Take the train from Ljubljana to Villach Hbftrain 38 / ...
- Take the train from Villach Hbf to Venezia Mestretrain Rjx
- Take the train from Venezia Mestre to Bologna Centraletrain Fr
- Take the train from Bologna Centrale to Bari Centraletrain Fr
16h 37m€135–259Train, ferry
- Take the train from Zagreb Glavni Kol. to Splittrain Ic
- Take the ferry from Split to Bariferry 56
19h 29m€214–294Drive, car ferry
- Drive from Zagreb to Durrëscar
- Take the carferry from Durrës to Port of Baricarferry
21h 30m€184–300
Zagreb to Apulia by bus and ferry
Comparing Your Travel Options
The cheapest way to get from Zagreb to Apulia is to fly and bus which costs €60 - €230 and takes 7h 5m.
The fastest way to get from Zagreb to Apulia is to shuttle and fly which takes 6h 8m and costs €85 - €700.
No, there is no direct bus from Zagreb to Apulia. However, there are services departing from Zagreb, Autobusni Kolodvor and arriving at Bari via Novo Mesto, Avtobusna postaja and Verona Porta Nuova Station. The journey, including transfers, takes approximately 18h 10m.
No, there is no direct train from Zagreb to Apulia. However, there are services departing from Zagreb Glavni Kol. and arriving at Bari Centrale via Ljubljana, Villach Hbf, Venezia Mestre and Bologna Centrale. The journey, including transfers, takes approximately 16h 37m.
The distance between Zagreb and Apulia is 948 km.
The best way to get from Zagreb to Apulia without a car is to bus and train which takes 13h 9m and costs €460 - €950.
It takes approximately 6h 8m to get from Zagreb to Apulia, including transfers.
Zagreb to Apulia bus services, operated by GoOpti, depart from Zagreb, Autobusni Kolodvor station.
Zagreb to Apulia train services, operated by HŽ Putnički prijevoz (HŽPP), depart from Zagreb Glavni Kol. station.
The best way to get from Zagreb to Apulia is to bus which takes 18h 10m and costs €240 - €1100. Alternatively, you can fly, which costs €75 - €250 and takes 7h 4m, you could also train, which costs €130 - €260 and takes 16h 37m.
What companies run services between Zagreb, Croatia and Apulia, Italy?
You can take a bus from Zagreb, Autobusni Kolodvor to Bari via Novo Mesto, Avtobusna postaja and Verona Porta Nuova Station in around 18h 10m. Alternatively, Lufthansa, Ryanair, and two other airlines fly from Zagreb Franjo Tuđman Airport (ZAG) to Brindisi Airport (BDS) once daily.
- Website
- ryanair.com
Flights from Trieste – Friuli Venezia Giulia Airport to Brindisi Airport
- Ave. Duration
- 1h 20m
- When
- Monday, Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €35–140
Flights from Zagreb Franjo Tuđman Airport to Brindisi Airport via Rome
- Ave. Duration
- 6h 40m
- When
- Thursday, Saturday, and Wednesday
- Estimated price
- €75–240
Flights from Zagreb Franjo Tuđman Airport to Brindisi Airport via Milan Bergamo
- Ave. Duration
- 7h 25m
- When
- Friday and Saturday
- Estimated price
- €75–240
Flights from Zagreb Franjo Tuđman Airport to Bari Karol Wojtyła Airport via Rome
- Ave. Duration
- 4h 25m
- When
- Wednesday
- Estimated price
- €55–160
Flights from Zagreb Franjo Tuđman Airport to Bari Karol Wojtyła Airport via Vienna
- Ave. Duration
- 4h 27m
- When
- Monday, Tuesday, Wednesday, and Sunday
- Estimated price
- €55–160
Flights from Zagreb Franjo Tuđman Airport to Bari Karol Wojtyła Airport via Dubrovnik Airport
- Ave. Duration
- 4h 30m
- When
- Saturday
- Estimated price
- €70–210
Flights from Trieste – Friuli Venezia Giulia Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €35–200
- Website
- lufthansa.com
Flights from Trieste – Friuli Venezia Giulia Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 12m
- When
- Every day
- Estimated price
- €70–130
Flights from Zagreb Franjo Tuđman Airport to Brindisi Airport via Munich
- Ave. Duration
- 6h 22m
- When
- Saturday, Sunday, and Thursday
- Estimated price
- €110–700
Flights from Trieste – Friuli Venezia Giulia Airport to Bari Karol Wojtyła Airport via Rome
- Ave. Duration
- 3h 15m
- When
- Every day
- Estimated price
- €75–140
Flights from Zagreb Franjo Tuđman Airport to Dubrovnik Airport
- Ave. Duration
- 58 min
- When
- Saturday, Tuesday, Thursday, and Sunday
- Estimated price
- €50–100
- Website
- croatiaairlines.com
Flights from Zagreb Franjo Tuđman Airport to Dubrovnik Airport
- Ave. Duration
- 56 min
- When
- Every day
- Estimated price
- €50–100
- Website
- ita-airways.com
Flights from Trieste – Friuli Venezia Giulia Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 12m
- When
- Every day
- Estimated price
- €70–130
Flights from Trieste – Friuli Venezia Giulia Airport to Bari Karol Wojtyła Airport via Rome
- Ave. Duration
- 3h 26m
- When
- Every day
- Estimated price
- €75–140
Flights from Zagreb Franjo Tuđman Airport to Dubrovnik Airport
- Ave. Duration
- 57 min
- When
- Sunday and Saturday
- Estimated price
- €50–100
- Website
- volotea.com
Flights from Trieste – Friuli Venezia Giulia Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 12m
- When
- Every day
- Estimated price
- €70–130
Flights from Zagreb Franjo Tuđman Airport to Bari Karol Wojtyła Airport via Split
- Ave. Duration
- 2h 35m
- When
- Friday
- Estimated price
- €30–220
- Website
- wizzair.com
Flights from Zagreb Franjo Tuđman Airport to Bari Karol Wojtyła Airport via Skopje
- Ave. Duration
- 4h 15m
- When
- Monday, Thursday, and Friday
- Estimated price
- €80–270
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Venezia Mestre to Bologna Centrale
- Ave. Duration
- 1h 21m
- Frequency
- Hourly
- Estimated price
- €21–35
- Website
- Trenitalia Frecce
Train from Bologna Centrale to Bari Centrale
- Ave. Duration
- 5h 45m
- Frequency
- Hourly
- Estimated price
- €90–150
- Website
- Trenitalia Frecce
Train from Venezia Mestre to Bologna Centrale
- Ave. Duration
- 1h 21m
- Frequency
- Hourly
- Estimated price
- €21–35
- Website
- Trenitalia Frecce
Train from Bologna Centrale to Bari Centrale
- Ave. Duration
- 5h 45m
- Frequency
- Hourly
- Estimated price
- €90–150
- Website
- Trenitalia Frecce
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Venezia Mestre to Bologna Centrale
- Ave. Duration
- 1h 22m
- Frequency
- Hourly
- Estimated price
- €18–29
- Website
- Italo Treno
Train from Venezia Mestre to Bologna Centrale
- Ave. Duration
- 1h 22m
- Frequency
- Hourly
- Estimated price
- €18–29
- Website
- Italo Treno
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Venezia Mestre to Bologna Centrale
- Ave. Duration
- 1h 47m
- Frequency
- Hourly
- Estimated price
- €18–25
- Website
- Trenitalia
Train from Venezia Mestre to Bologna Centrale
- Ave. Duration
- 1h 47m
- Frequency
- Hourly
- Estimated price
- €18–25
- Website
- Trenitalia
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Venezia Mestre to Bologna Centrale
- Ave. Duration
- 1h 47m
- Frequency
- 4 times a day
- Estimated price
- €16–30
- Website
- Trenitalia Intercity
Train from Bologna Centrale to Bari Centrale
- Ave. Duration
- 7h 5m
- Frequency
- Every 2 hours
- Estimated price
- €65–130
- Website
- Trenitalia Intercity
Train from Venezia Mestre to Bologna Centrale
- Ave. Duration
- 1h 47m
- Frequency
- 4 times a day
- Estimated price
- €16–30
- Website
- Trenitalia Intercity
Train from Bologna Centrale to Bari Centrale
- Ave. Duration
- 7h 5m
- Frequency
- Every 2 hours
- Estimated price
- €65–130
- Website
- Trenitalia Intercity
- Phone
- +385 60 333 444
- informacije@hzpp.hr
- Website
- HŽ Putnički prijevoz (HŽPP)
Train from Zagreb Glavni Kol. to Ljubljana
- Ave. Duration
- 2h 26m
- Frequency
- Every 2 hours
- Estimated price
- €12
- Website
- HŽ Putnički prijevoz (HŽPP)
Train from Ljubljana to Villach Hbf
- Ave. Duration
- 1h 40m
- Frequency
- 4 times a day
- Estimated price
- €8
- Website
- HŽ Putnički prijevoz (HŽPP)
Train from Zagreb Glavni Kol. to Split
- Ave. Duration
- 7h 58m
- Frequency
- Twice daily
- Estimated price
- €34
- Website
- HŽ Putnički prijevoz (HŽPP)
- Phone
- +386 1 29 13 331
- potnik.info@slo-zeleznice.si
- Website
- Slovenske železnice (SŽ)
Train from Ljubljana to Villach Hbf
- Ave. Duration
- 1h 40m
- Frequency
- Every 2 hours
- Estimated price
- €8
- Website
- Slovenske železnice (SŽ)
- Phone
- +386 1 320 4530
- info@goopti.com
- Website
- GoOpti
Shuttle from Zagreb to Ljubljana
- Ave. Duration
- 1h 48m
- Frequency
- On demand
- Estimated price
- €28–280
- Website
- GoOpti
- Shared
- €28–75
- Private
- €140–180
Shuttle from Ljubljana to Trieste Airport
- Ave. Duration
- 1h 16m
- Frequency
- On demand
- Estimated price
- €160–260
- Website
- GoOpti
- Private
- €204
Bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postaja
- Ave. Duration
- 1h 19m
- Frequency
- On demand
- Estimated price
- €22–160
- Website
- GoOpti
- Shared
- €22
- Private
- €92
Bus from Novo Mesto, Avtobusna postaja to Stazione Mestre
- Ave. Duration
- 3h 45m
- Frequency
- On demand
- Estimated price
- €360–600
- Website
- GoOpti
Bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postaja
- Ave. Duration
- 1h 19m
- Frequency
- On demand
- Estimated price
- €22–160
- Website
- GoOpti
- Shared
- €22
- Private
- €92
Bus from Novo Mesto, Avtobusna postaja to Verona Porta Nuova
- Ave. Duration
- 5h 52m
- Frequency
- On demand
- Estimated price
- €132–800
- Website
- GoOpti
- Shared
- €132
- Private
- €463
Shuttle from Zagreb to Ljubljana
- Ave. Duration
- 1h 48m
- Frequency
- On demand
- Estimated price
- €28–280
- Website
- GoOpti
- Shared
- €28–75
- Private
- €140–180
Shuttle from Ljubljana to Trieste Airport
- Ave. Duration
- 1h 16m
- Frequency
- On demand
- Estimated price
- €160–260
- Website
- GoOpti
- Private
- €204
- Phone
- +386 40 121 900
- mamut.slovenija@gmail.com
- Website
- slovenija.eu.com
Shuttle from Ljubljana to Trieste Airport
- Ave. Duration
- 1h 30m
- Frequency
- On demand
- Estimated price
- €110–220
- Schedules at
- slovenija.eu.com
- 1 -3 persons
- €170
- 4-8 persons
- €220
Shuttle from Ljubljana to Trieste Airport
- Ave. Duration
- 1h 30m
- Frequency
- On demand
- Estimated price
- €110–220
- Schedules at
- slovenija.eu.com
- 1 -3 persons
- €170
- 4-8 persons
- €220
- Phone
- +386 070740450
- info@easydrive.si
- Website
- easydrive.si
Shuttle from Ljubljana to Trieste Airport
- Ave. Duration
- 3h
- Frequency
- Twice daily
- Estimated price
- €22
- Schedules at
- easydrive.si
Shuttle from Ljubljana to Trieste Airport
- Ave. Duration
- 3h
- Frequency
- Twice daily
- Estimated price
- €22
- Schedules at
- easydrive.si
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Zagreb to Split, Autobusni Kolodvor
- Ave. Duration
- 5h 40m
- Frequency
- Hourly
- Estimated price
- €35–55
- Website
- Flixbus
- Phone
- +385 (0)72 660 660
- info@arriva.com.hr
- Website
- Arriva Croatia
Bus from Zagreb to Split, Autobusni Kolodvor
- Ave. Duration
- 4h 55m
- Frequency
- Every 4 hours
- Estimated price
- €3–17
- Website
- Arriva Croatia
- Phone
- +385 1 3335 170
- uprava@samoborcek.hr
- Website
- samoborcek.hr
Bus from Zagreb to Split, Autobusni Kolodvor
- Ave. Duration
- 6h 10m
- Frequency
- Once daily
- Estimated price
- €11–55
- Schedules at
- samoborcek.hr
- Phone
- +39 0362 185 0590
- info@onebus.it
- Website
- Onebus
Bus from Verona Porta Nuova Station to Bari
- Ave. Duration
- 9h 29m
- Frequency
- Once a week
- Estimated price
- €90–130
- Website
- Onebus
- 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
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
- +385 72 303 337
- passdept_h@jadrolinija.hr
- Website
- Jadrolinija
Ferry from Split to Bari
- Ave. Duration
- 10h
- Frequency
- Once a week
- Estimated price
- €180–260
- Website
- Jadrolinija
Ferry from Dubrovnik to Bari
- Ave. Duration
- 8h
- Frequency
- Twice a week
- Estimated price
- €90–140
- Website
- Jadrolinija
Ferry from Split to Bari
- Ave. Duration
- 10h
- Frequency
- Once a week
- Estimated price
- €180–260
- Website
- Jadrolinija
- Phone
- +3907150211621
- booking@adriaferries.com
- Website
- adriaferries.com
Car ferry from Durrës to Port of Bari
- Ave. Duration
- 9h
- Frequency
- 5 times a day
- Estimated price
- €62–114
- Schedules at
- adriaferries.com
- Deck
- €65
- Inside cabin 2 beds
- €94
- Outside cabin 2 beds
- €114
- Car
- €100
- Phone
- +30 210 4828001
- booking@ventourisferries.com
- Website
- Ventouris Ferries
Car ferry from Durrës to Port of Bari
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- €60–70
- Website
- Ventouris Ferries
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
Travelling Croatia’s Dalmatian Coast by boat, bus, car and train
Read the travel guide
Travelling by boat in Italy
Read the travel guide
Booking & Getting There
Zagreb to Apulia bus services, operated by GoOpti, arrive at Novo Mesto, Avtobusna postaja station.
Zagreb to Apulia train services, operated by HŽ Putnički prijevoz (HŽPP), arrive at Ljubljana station.
Book your Zagreb to Apulia train tickets online with Omio.
There are 4456+ hotels available in Apulia.




































































