Fastest ~5-6h by bus
| 🚌 Bus | ~5-6h | FlixBus and regional operators, frequent |
| 🚆 Train | ~6-7h | HŽ/Srbija Voz joint direct day train, scenic |
| 🚗 Car | ~4-5h | 400km via A3/E70, Bajakovo border crossing |
| ✈️ Flight | ~50min air | Croatia Airlines, rarely faster door-to-door |
Planning this trip? Currency converter · Jet-lag calculator · Trip budget · Compare routes
Zagreb and Belgrade are the two biggest capitals of the former Yugoslavia, separated by around 400 km of flat Pannonian plains and rolling hills. The route has seen political turbulence in living memory, but today it is an easy crossing: good bus connections, a reviving direct train, reasonable driving and occasional budget flights. Here is what each option actually involves.
The direct train: a route in recovery
A direct day train connects Zagreb Glavni kolodvor and Beograd Centar, operated by HŽ Putnički prijevoz (Croatian Railways) and Srbija Voz (Serbian Railways) in a joint service. Journey times are typically around six to seven hours — not fast, but entirely comfortable for a daylight trip through the Slavonian countryside.
The train is a good choice if you want a leisurely crossing with minimal faff. Reservations are usually available and recommended in summer. Bring snacks and something to read; the journey is scenic if unhurried.
Note that high-speed rail does not yet exist on this corridor — both railway networks are being upgraded over the coming decade, and future journey times will likely come down considerably. For the latest timetable position, check direct with HŽ or Srbija Voz before you travel.
The cheapest and most popular way: the bus
Long-distance coaches are the dominant mode on this route, and for good reason: they are frequent, direct and cheap. Journey times by bus are typically five to six hours, often slightly faster than the train, and fares are competitive. Multiple companies run services throughout the day, including FlixBus and various regional Balkan operators.
Buses depart from Zagreb Bus Terminal (directly next to the train station) and arrive at Belgrade's BAS Bus Station, which is a short ride from the centre. Booking ahead is wise in summer; at quieter times of year you can often buy on the day.
The fastest door-to-door: flying
There are occasional direct flights between Zagreb Airport (ZAG) and Belgrade Nikola Tesla Airport (BEG), mainly on carriers such as Croatia Airlines. The flight itself is short — around 50 minutes in the air — but when you factor in getting to the airport, check-in, security and the transfer into either city centre, flying is rarely quicker than the bus door-to-door. It tends to be considerably more expensive, too, unless you catch a promotional fare well in advance.
The scenic way: driving
The drive is roughly 400 km and takes about four to five hours in normal conditions, mostly on the A3/E70 motorway across Slavonia and then Serbian roads via Novi Sad or directly to Belgrade. The route passes through the Slavonian heartland — flat and agricultural, with occasional towns like Slavonski Brod marking the Croatian–Serbian border crossing at Bajakovo.
The Bajakovo–Batrovci crossing is the main border post on this road and can be busy during summer and public holidays. Keep your vehicle documents and insurance paperwork (a Green Card covering Serbia is required) in order. Confirm your car hire agreement covers cross-border travel if you are not in your own vehicle.
Border note: Croatia is an EU and Schengen member; Serbia is neither. You cross an external Schengen border here. Passport control can take some time during peak periods — buses sometimes queue at Bajakovo for an hour or more in high summer. Factor this in to any connection plans.
Practical tips for the crossing
- Carry your passport (not just an ID card) for this journey regardless of mode — you are crossing an external Schengen border, and bus and train staff will expect it at the checkpoint.
- Currency changes at the border: Croatia uses the euro, while Serbia uses the Serbian dinar. Have a small amount of dinars on hand for your first hours in Belgrade, since not everything accepts euros or cards immediately.
- Mobile roaming charges can apply when crossing from an EU member state (Croatia) into non-EU Serbia — check your provider's rates before you travel to avoid a surprise bill.
- If travelling by bus, pack essentials in your carry-on rather than the hold, since luggage is not accessible again until the bus reaches its next scheduled stop after the border check.
Stopping in Novi Sad along the way
Novi Sad, Serbia's second city, sits roughly two-thirds of the way from Zagreb to Belgrade and is an easy and rewarding place to break the journey. Its riverside old town, the Petrovaradin Fortress overlooking the Danube, and a noticeably more relaxed pace than the capital make it worth a night or even just a few hours if your schedule allows. Both the bus and train call at Novi Sad, and onward connections to Belgrade from there take under two hours by either mode, so splitting the trip adds relatively little extra time.
Which should you choose?
The bus is the everyday workhorse on this route: frequent, central, reasonably priced. The train is the more characterful option — slower, but with a lovely Slavonian panorama and a relaxed pace. Driving suits you if you want a car in Belgrade or plan a stop in Novi Sad, which lies on the route and is well worth a few hours. Flying is the least compelling option here — the airport overhead swallows the time saved.
For a broader rail perspective, see our guide to travelling by train in the Balkans and Budapest to Belgrade for a connection from further north.
Frequently asked questions
Is there a direct train from Zagreb to Belgrade?
Yes. A direct train runs once or twice a day and takes around six to seven hours. It is operated jointly by Croatian Railways (HŽ) and Serbian Railways (Srbija Voz). Check current timetables directly with the operators.
How long does the bus take from Zagreb to Belgrade?
Most buses take around five to six hours, making them slightly faster than the current train. Services run throughout the day from Zagreb Bus Terminal to Belgrade's BAS Bus Station.
Do I need a visa to enter Serbia from Croatia?
Serbia is not in the EU or Schengen. EU and EEA passport holders generally do not need a visa for short stays, but requirements vary by nationality — always check with your own government's travel advice and the Serbian Ministry of Foreign Affairs before you travel.
Is the border crossing at Bajakovo slow?
It can be, particularly in summer and around Serbian and Croatian public holidays. Budget extra time if you are making an onward connection in Belgrade. Train passengers are processed at the border by officials who come through the carriages.
Sources and further reading:
- Train timetables: HŽ Putnički prijevoz (Croatian Railways) and Srbija Voz.
- Route and crossing information: The Man in Seat 61.
- Entry requirements: always verify with your own government's official travel advice.
