There are 9 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 13m€85–691Bus, 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 Bari Centraletrain Fr
13h 57m€482–949Bus, ferry
- Take the bus from Zagreb to Split, Autobusni Kolodvorbus 924 / ...
- Take the ferry from Split to Bariferry 56
17h 2m€185–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,089Shuttle, 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 29m€91–696Fly 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 Tarvisio Boscoverde to Bologna Centraletrain Nj
- Take the train from Bologna Centrale to Bari Centraletrain Fr
17h 5m€116–281Train, ferry
- Take the train from Zagreb Glavni Kol. to Splittrain Ic
- Take the ferry from Split to Bariferry 56
19h 20m€214–294Drive, car ferry
- Drive from Zagreb to Durrëscar
- Take the carferry from Durrës to Port of Baricarferry
21h 30m€185–301
Zagreb to Apulia by bus and ferry
Comparing Your Travel Options
The cheapest way to get from Zagreb to Apulia is to fly and ferry which costs €140 - €260 and takes 12h 51m.
The fastest way to get from Zagreb to Apulia is to shuttle and fly which takes 6h 13m 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, Tarvisio Boscoverde and Bologna Centrale. The journey, including transfers, takes approximately 17h 5m.
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 57m and costs €480 - €950.
It takes approximately 6h 13m 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 train, which costs €110 - €290 and takes 17h 5m.
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, you can take a train from Zagreb Glavni Kol. to Bari Centrale via Ljubljana, Villach Hbf, Tarvisio Boscoverde, and Bologna Centrale in around 17h 5m.
- Website
- ita-airways.com
Flights from Trieste – Friuli Venezia Giulia Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 26m
- When
- Every day
- Estimated price
- €70–140
Flights from Trieste – Friuli Venezia Giulia Airport to Bari Karol Wojtyła Airport via Rome
- Ave. Duration
- 3h 22m
- 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
- croatiaairlines.com
Flights from Zagreb Franjo Tuđman Airport to Dubrovnik Airport
- Ave. Duration
- 57 min
- When
- Every day
- Estimated price
- €50–100
- Website
- ryanair.com
Flights from Trieste – Friuli Venezia Giulia Airport to Brindisi Airport
- Ave. Duration
- 1h 25m
- When
- Monday, Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- €35–140
Flights from Trieste – Friuli Venezia Giulia Airport to Bari Karol Wojtyła Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €35–200
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Venezia Mestre to Bari Centrale
- Ave. Duration
- 7h 23m
- Frequency
- 4 times a day
- Estimated price
- €110–190
- Website
- Trenitalia Frecce
Train from Bologna Centrale to Bari Centrale
- Ave. Duration
- 5h 42m
- Frequency
- Hourly
- Estimated price
- €85–150
- Website
- Trenitalia Frecce
- 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
- +43 (0) 51717
- Website
- Nightjet
Train from Tarvisio Boscoverde to Bologna Centrale
- Ave. Duration
- 3h 49m
- Frequency
- Once daily
- Estimated price
- €27–95
- Website
- Nightjet
- Sleeper Carriage
- €93–95
- Couchette Carriage
- €55–70
- Seating Carriage
- €27–32
- Phone
- +39 06 68475475
- 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
- +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
- €150–270
- 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
- €350–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
- €150–270
- 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
- €30–50
- 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
- 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 guideTravelling Croatia’s Dalmatian Coast by boat, bus, car and train
Read the travel guideTravelling by boat in Italy
Read the travel guideBooking & 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 4463+ hotels available in Apulia.