The average bus between Belgrade and Zagreb takes 5h 35m and the fastest bus takes 5h 30m. The bus service runs several times per day from Belgrade to Zagreb. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run every 4 hours between Belgrade and Zagreb. The earliest departure is at 12:30 AM at night, and the last departure from Belgrade is at 11:00 PM which arrives into Zagreb at 5:00 AM. All services run direct with no transfers required, and take on average 5h 35m. The schedules shown below are for the next available departures.
Arrives next day
Want to know about travelling from Belgrade to Zagreb? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
Yes, there is a direct bus departing from Belgrade station and arriving at Zagreb station. Services depart every 4 hours, and operate Once daily. The journey takes approximately 5h 35m.
Belgrade to Zagreb bus services, operated by FlixBus, depart from Belgrade bus station.
Belgrade to Zagreb bus services, operated by FlixBus, arrive at Zagreb station.
Book your Belgrade to Zagreb bus tickets online with FlixBus.
The distance between Belgrade and Zagreb is 368.4 km. The road distance is 388 km.
FlixBus operates a bus from Belgrade bus station to Zagreb 5 times a day. Tickets cost €30–55 and the journey takes 5h 30m.