There are 6 ways to get from Belgrade to Zagreb by bus, train, car, plane, rideshare, or shuttle
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus
best- Take the bus from Belgrade bus station to Zagrebbus N1900 / ...
5h 30m€29–50Rideshare
cheapest- Take the rideshare from Beograd to Zagreb393.2 km
4h 44m€19Bus, train
- Take the bus from Beograd, Autobuska stanica to Slavonski Brod, Autobusni Kolodvorbus Arriva
- Take the train from Slavonski Brod to Zagreb Glavni Kol.train Re / ...
8h 56m€37–58Drive 393.1 km
- Drive from Belgrade to Zagrebcar 393.1 km
3h 39m€56–80Fly
- Fly from Belgrade Nikola Tesla Airport (BEG) to Zagreb Franjo Tuđman Airport (ZAG)plane BEG - ZAG
4h 49m€74–166Shuttle
- Take a shuttle bus from Beograd, Autobuska stanica to Zagreb
3h 32m€40–60
Belgrade to Zagreb by bus
Questions & Answers
The cheapest way to get from Belgrade to Zagreb is to rideshare which costs €19 and takes 4h 44m.
The fastest way to get from Belgrade to Zagreb is to shuttle which takes 3h 32m and costs €40 - €60.
Yes, there is a direct bus departing from Belgrade bus station station and arriving at Zagreb. Services depart four times a day, and operate every day. The journey takes approximately 5h 30m.
The distance between Belgrade and Zagreb is 388 km. The road distance is 393.1 km.
The best way to get from Belgrade to Zagreb without a car is to bus which takes 5h 30m and costs €29 - €50.
The bus from Belgrade bus station to Zagreb takes 5h 30m including transfers and departs four times a day.
Belgrade to Zagreb bus services, operated by FlixBus, depart from Belgrade bus station.
The best way to get from Belgrade to Zagreb is to bus which takes 5h 30m and costs €29 - €50. Alternatively, you can fly, which costs €70 - €170 and takes 4h 49m.
Belgrade to Zagreb bus services, operated by FlixBus, arrive at Zagreb station.
Yes, the driving distance between Belgrade to Zagreb is 393 km. It takes approximately 3h 39m to drive from Belgrade to Zagreb.
What companies run services between Belgrade, Serbia and Zagreb, Croatia?
FlixBus operates a bus from Belgrade bus station to Zagreb 4 times a day. Tickets cost €29–50 and the journey takes 5h 30m. Alternatively, Air Serbia, Austrian Airlines, and Croatia Airlines fly from Belgrade Nikola Tesla Airport (BEG) to Zagreb Franjo Tuđman Airport (ZAG) 3 times a day.
- Website
- airserbia.com
Flights from Belgrade Nikola Tesla Airport to Zagreb Franjo Tuđman Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €70–150
- Phone
- +385 60 333 444
- [email protected]
- Website
- HŽ Putnički prijevoz (HŽPP)
Train from Slavonski Brod to Zagreb Glavni Kol.
- Ave. Duration
- 4h 20m
- Frequency
- Hourly
- Estimated price
- €35–55
- Website
- HŽ Putnički prijevoz (HŽPP)
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Belgrade bus station to Zagreb
- Ave. Duration
- 5h 30m
- Frequency
- 4 times a day
- Estimated price
- €29–50
- Website
- Flixbus
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar
Rideshare from Beograd to Zagreb
- Ave. Duration
- 4h 44m
- Frequency
- Twice daily
- Estimated price
- €19
- Schedules at
- BlaBlaCar
Want to know more about travelling around Croatia
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
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Book your Belgrade to Zagreb bus tickets online with Omio, FlixBus and 12go.asia.
There are 2938+ hotels available in Zagreb.
Check out Blablacar's carpooling service for rideshare options between Belgrade and Zagreb. A great option if you don't have a driver's licence or want to avoid public transport.









