There are 8 ways to get from Zagreb to Belgrade 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  •  6 h 6 min

  1. Take the bus from Zagreb to Belgrade

$70

Cheapest option

Rideshare  •  4 h 18 min

  1. Take the rideshare from Zagreb to Beograd 246.4 miles

$15 - $25

6 alternative options

Train  •  6 h 15 min

  1. Take the train from Zagreb to Belgrade En

$25 - $40

Train via Novi Beograd  •  6 h 39 min

  1. Take the train from Zagreb Glavni Kolod. to Novi Beograd En

$21 - $30

Drive  •  3 h 42 min

  1. Drive from Zagreb to Belgrade 246.3 miles

$45 - $70

Fly from Zagreb  •  4 h 18 min

  1. Fly from Zagreb (ZAG) to Belgrade (BEG) ZAG - BEG

$86 - $319

Bus to Banja Luka, fly  •  5 h 38 min

  1. Take the bus from Zagreb to Laktasi
  2. Fly from Banja Luka (BNX) to Belgrade (BEG) BNX - BEG

$44 - $85

Shuttle to Ljubljana, fly  •  5 h 53 min

  1. Take a shuttle bus from Zagreb to Ljubljana Airport
  2. Fly from Ljubljana (LJU) to Belgrade (BEG) LJU - BEG

$110 - $490

Questions & Answers

Yes, there is a direct bus departing from Zagreb and arriving at Belgrade. Services depart once daily, and operate every day. The journey takes approximately 6 h 6 min.

More details

Yes, there is a direct train departing from Zagreb and arriving at Belgrade. Services depart five times a day, and operate every day. The journey takes approximately 6 h 15 min.

More details

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

Get driving directions

The best way to get from Zagreb to Belgrade without a car is to bus which takes 6 h 6 min and costs .

More details

The bus from Zagreb to Belgrade takes 6 h 6 min including transfers and departs once daily.

More details

Zagreb to Belgrade bus services, operated by Autotransport Karlovac, depart from Zagreb station.

More details

Zagreb to Belgrade train services, operated by Croatian Railways (HŽPP), depart from Zagreb station.

More details

The best way to get from Zagreb to Belgrade is to bus which takes 6 h 6 min and costs . Alternatively, you can train, which costs and takes 6 h 15 min, you could also fly, which costs and takes 4 h 18 min.

Mode details

The quickest flight from Zagreb Airport to Belgrade Airport is the direct flight which takes 1 h 5 min.

Search flights

Zagreb to Belgrade bus services, operated by Autotransport Karlovac, arrive at Belgrade station.

More details

Map of how to get from Zagreb to Belgrade.
Launch map view
  • Distance: 230.2 miles
  • Duration: 6 h 6 min

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

Autotransport Karlovac operates a bus from Zagreb to Belgrade once daily. Tickets cost $70 and the journey takes 6 h 6 min. Alternatively, Croatian Railways (HŽPP) operates a train from Zagreb to Belgrade 5 times a day. Tickets cost $25 - $40 and the journey takes 6 h 15 min.

Airlines
Air Serbia
Website
airserbia.com
Flights from Zagreb to Belgrade
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$80 - $210
Flights from Banja Luka to Belgrade
Ave. Duration
55 min
When
Monday, Wednesday, Friday, Saturday and Sunday
Estimated price
$35 - $120
Flights from Ljubljana to Belgrade
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$95 - $290
Train operators
Croatian Railways (HŽPP)
Website
hzpp.hr
Train from Zagreb to Belgrade
Ave. Duration
6 h 15 min
Frequency
5 times a day
Estimated price
$25 - $40
Website
hzpp.hr
Purchase a
eurail.com
2nd Class
$25 - $40
1st Class
$40 - $55
Train from Zagreb Glavni Kolod. to Novi Beograd
Ave. Duration
6 h 12 min
Frequency
Once daily
Estimated price
$21 - $30
Website
hzpp.hr
Purchase a
eurail.com
Bus operators
Autotransport Karlovac
Phone
098 98 32 331
Email
irena.tihi@atsk.hr
Website
atsk.hr
Bus from Zagreb to Belgrade
Ave. Duration
6 h 6 min
Frequency
Once daily
Estimated price
$70
Schedules at
atsk.hr
Pepeks Zagreb
Phone
098 417 140
Email
info@pepeks.hr
Website
pepeks.hr
Bus from Zagreb to Laktasi
Ave. Duration
2 h 52 min
Frequency
4 times a day
Schedules at
pepeks.hr
Other operators
BlaBlaCar

A ridesharing platform with 40 million users, Blablacar gives you access to destinations without worrying about on-the-road chaos. The basic idea is that you carpool with locals who are already planning to drive your route and have space in their car. With some flexibility you’ll get to your destination – often faster and cheaper than other means. On the website or app, enter your departure and arrival points and your date of travel, sift through the profiles of drivers who’ve posted pre-planned drives and find one whose timing and preferences match yours. Request to join the ride, wait be accepted, and pay your share of the set price.

Rome2rio's guide to BlaBlaCar
Contact Details
Website
blablacar.com
Rideshare from Zagreb to Beograd
Ave. Duration
4 h 18 min
Frequency
Twice daily
Estimated price
$15 - $25
Book at
blablacar.co.uk

Want to know more about travelling around Serbia

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.

More Questions & Answers

Zagreb to Belgrade train services, operated by Croatian Railways (HŽPP), arrive at Belgrade station.

More details

Yes, the driving distance between Zagreb to Belgrade is 394 km. It takes approximately 3 h 42 min to drive from Zagreb to Belgrade.

Get driving directions

Air Serbia offers flights from Zagreb Airport to Belgrade Airport.

Search flights

There are 2491+ hotels available in Belgrade. Prices start at $30 USD per night.

More details

Check out Blablacar's carpooling service for rideshare options between Zagreb and Belgrade. A great option if you don't have a driver's licence or want to avoid public transport.

Read Rome2rio's guide to Blablacar

The best way to get from Zagreb to Zagreb Airport is to shuttle which takes 27 min and costs .

More details