There are 10 ways to get from Belgrade to Zagreb by bus, train, rideshare, car, plane 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.

Recommended option

Bus  •  7 h 18 min

$18

9 alternative options

Train via Sid(SRB)  •  7 h 22 min

  1. 2200
  2. En

$23 - $36

Train  •  7 h 49 min

  1. En

$21 - $30

Rideshare  •  4 h 44 min

  1. 245.8 miles

$22

Drive  •  3 h 44 min

  1. 245.7 miles

$45 - $70

Fly Belgrade to Zagreb  •  3 h 53 min

  1. BEG - ZAG

$87 - $325

Bus to Osijek, fly to Zagreb  •  5 h 19 min

  1. OSI - ZAG

$83 - $315

Fly Belgrade to Ljubljana  •  6 h 21 min

  1. BEG - LJU

$108 - $505

Fly Belgrade to Banja Luka, bus  •  5 h 49 min

  1. BEG - BNX

$45 - $85

Shuttle  •  4 h 30 min

  1. Door to door Shuttle

$36

What companies run services between Belgrade, Serbia and Zagreb, Croatia?

Nis Ekspres operates a bus from Belgrade to Zagreb twice daily. Tickets cost $18 and the journey takes 7 h 18 min. Autotransport Karlovac also services this route once daily. Alternatively, you can take a train from Belgrade to Zagreb via Šid and Sid(SRB) in around 7 h 22 min.

Airlines
Air Serbia
Website
airserbia.com
Flights from Belgrade to Zagreb
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$80 - $210
Flights from Belgrade to Ljubljana
Ave. Duration
1 h 25 min
When
Every day
Estimated price
$95 - $290
Flights from Belgrade to Banja Luka
Ave. Duration
55 min
When
Monday, Wednesday, Friday and Sunday
Estimated price
$35 - $120
Croatia Airlines
Website
croatiaairlines.com
Flights from Belgrade to Zagreb via Split
Ave. Duration
3 h 15 min
When
Monday
Estimated price
$110 - $240
Flights from Osijek to Zagreb
Ave. Duration
45 min
When
Monday, Wednesday and Friday
Estimated price
$30 - $75
Austrian Airlines
Website
austrian.com
Flights from Belgrade to Zagreb via Vienna
Ave. Duration
3 h
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$250 - $750
Flights from Belgrade to Ljubljana via Vienna
Ave. Duration
3 h 40 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$260 - $1,100
Trade Air
Website
trade-air.com
Flights from Osijek to Zagreb
Ave. Duration
45 min
When
Monday, Wednesday and Friday
Estimated price
$30 - $75
Train operators
Serbian Railways
Website
srbvoz.rs
Train from Beograd central to Šid
Ave. Duration
1 h 48 min
Frequency
3 times a day
Estimated price
$3 - $10
Schedules at
srbvoz.rs
2nd Class Ticket
$3 - $6
1st Class Ticket
$6 - $10
1st class
$6
2nd class
$4
Serbian Railways (ŽS)
Phone
+381 11 360-28-99
Email
infozeleznicesrb@gmail.com
Website
serbianrailways.com
Train from Sid(SRB) to Zagreb Glavni Kolod.
Ave. Duration
4 h 34 min
Frequency
Twice a week
Estimated price
$19 - $27
Schedules at
bahn.de
Train from Beograd to Zagreb Glavni Kolod.
Ave. Duration
7 h 49 min
Frequency
Twice a week
Estimated price
$21 - $30
Schedules at
bahn.de
Bus operators
Nis Ekspres
Phone
+381 18 255 177
Email
marketing@nis-ekspres.rs
Website
nis-ekspres.rs
Bus from Beograd to Zagreb
Ave. Duration
7 h 18 min
Frequency
Twice daily
Estimated price
$18
Schedules at
nis-ekspres.rs
Autotransport Karlovac
Phone
098 98 32 331
Email
irena.tihi@atsk.hr
Website
atsk.hr
Bus from Belgrade to Zagreb
Ave. Duration
6 h 5 min
Frequency
Once daily
Estimated price
$72
Schedules at
atsk.hr
Šidexpres Šid
Phone
022 / 714-147
Email
sidexpres@ptt.rs
Website
sidexpres.rs
Bus from Beograd to Vukovar
Ave. Duration
2 h 47 min
Frequency
4 times a day
Schedules at
sidexpres.rs
Pepeks Zagreb
Phone
098 417 140
Email
info@pepeks.hr
Website
pepeks.hr
Bus from Laktasi to Zagreb
Ave. Duration
2 h 53 min
Frequency
3 times a day
Schedules at
pepeks.hr
Terra Travel d.o.o.
Phone
011 3287 412
Email
info@terratravel.rs
Website
terratravel.rs
Shuttle from Belgrade to Zagreb
Ave. Duration
4 h 30 min
Frequency
On demand
Estimated price
$36
Schedules at
terratravel.rs
Book at
terratravel.rs
Other operators
BlaBlaCar
Website
blablacar.com
Rideshare from Beograd to Zagreb
Ave. Duration
4 h 44 min
Frequency
Twice daily
Estimated price
$22
Book at
blablacar.co.uk

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.

Questions & Answers

The distance between Belgrade and Zagreb is 368 km. The road distance is 393 km.

The cheapest way to get from Belgrade to Zagreb is to bus which costs RSD 1758 and takes 7 h 18 min.

The quickest way to get from Belgrade to Zagreb is to drive which takes 3 h 44 min and costs RSD 4800 - RSD 7000.

Yes, there is a direct train departing from Beograd and arriving at Zagreb Glavni Kolod.. Services depart twice a week, and operate every day. The journey takes approximately 7 h 49 min.

Yes, there is a direct bus departing from Beograd and arriving at Zagreb. Services depart three times a day, and operate every day. The journey takes approximately 7 h 18 min.

The bus from Beograd to Zagreb takes 7 h 18 min including transfers and departs three times a day.