Skip to content

Belgrade to Zagreb: Bus, Train & Times

Verified · July 8, 2026 by experienced travelers, guides, and locals 10 min read

No direct Belgrade-Zagreb train since 2020, so it is the bus (~5.5h, from ~25 euros), the drive or a flight. Times, fares and which one to pick.

A blue tram crossing Ban Jelačić Square in central Zagreb on a sunny day
Photo: Naturpuur / Wikimedia Commons, CC BY-SA 4.0 ( source )

Is there a train from Belgrade to Zagreb? No, and that’s the first thing to get straight. The direct passenger train between the two capitals stopped during the pandemic in March 2020 and has never come back. A few ghost entries still float around old timetables, but no through train actually runs. So the honest answer for Belgrade to Zagreb is the direct bus: a FlixBus coach covers the roughly 390 km northwest in about five and a half hours, runs five or six times a day, and costs around 25 euros.

That leaves you three real choices, not four. The bus is the default for almost everyone. Driving is a touch faster and gives you the freedom to stop. Flying looks quickest on the timetable but turns into a half-day once you count the two airports. And the train, the option people keep asking about, simply isn’t on the table until someone rebuilds the service, which the EU has floated for around 2035. For now, plan around the coach.

The quick verdict

  • Best for nearly everyone: the direct bus. Around five and a half hours, five or six departures a day, roughly 25 euros, straight into Zagreb’s bus terminal.
  • Fastest door to door if you have a car: the drive. About 393 km and under four hours on good motorway, with one border crossing.
  • Quickest in the air, slowest in reality: the flight. Under an hour flying, but a half-day once you add both airports, and pricey.
  • Not an option: the train. No direct service since 2020; the only rail route is an awkward bus-plus-train bodge through Croatia that nobody should choose.

If you just want to be in Zagreb, book a FlixBus and skip to the packing. The rest is for weighing it up when your plans, or your tolerance for coaches, run differently.

Why there is no train (and what “no train” really means)

This one catches people out, because the Belgrade to Zagreb line looks like it should be a flagship international route. It was, once. A joint service run by Srbija Voz and Croatian Railways (HŽPP) used to link the capitals in about eight hours, with carriages splitting at the border. Then March 2020 hit, the whole thing was suspended for COVID, and it was never switched back on. Meetings between the two railways have happened since, but the through train hasn’t returned, and there is no confirmed date for one.

The trap is that some journey planners and old timetables still show a train, because the entry was never fully deleted. If you see a rail option quoted for this route, treat it with suspicion. The nearest thing to a rail journey that actually works today is a relay: a bus across the border to Slavonski Brod in Croatia, then a Croatian train onward to Zagreb. It runs to nearly nine hours all in, costs more than the direct coach, and involves a change with luggage. There’s no reason to do it unless you are a rail completist collecting the Croatian network. The EU has talked about reconnecting Belgrade and Zagreb by rail as a longer-term ambition, floated for around 2035, but that’s a plan on paper, not a ticket you can buy.

Belgrade rooftops and the Sava riverfront, the starting point of the road west to Zagreb
Every land route to Zagreb starts here in Belgrade and heads northwest along the old Corridor 10 road through Croatia's Slavonian plain. Photo: Vasenka / Wikimedia Commons, CC BY 2.0 - https://commons.wikimedia.org/wiki/File:Belgrade_Serbia,_March_2010.jpg

The bus: the one to take

The direct coach is the sensible default, and it’s a real through service. FlixBus is the operator you’ll see on this corridor, running five or six departures a day, spread from an early morning bus around 07:30 to a late one near 23:00. Buses leave from Belgrade’s main bus station out in New Belgrade (the terminal moved across the river in late 2024, so aim for the new one, not the demolished riverside site still shown on some maps) and arrive at Zagreb’s central bus terminal, the Autobusni kolodvor, a short tram ride southeast of the main square.

The journey runs about five and a half hours on the quickest services, stretching to six on the slower ones, so it is worth glancing at the time rather than booking on price alone. Fares are cheap and cheerful: expect roughly 22 to 30 euros one way at the low end, more for a busy departure booked last minute. There’s a quirk worth knowing if your dates are flexible, midweek is cheaper, with Wednesday typically the lowest fare and Sunday the highest, since that’s when everyone heads back. Book a day or two ahead online for the best number, and you get free wifi, a power socket and a guaranteed seat thrown in.

One thing applies to every land option here: this is a real border. Serbia sits outside the EU and the Schengen zone, and Croatia has been fully inside Schengen since 2023, so crossing at the main Batrovci-Bajakovo point on the motorway is a proper external frontier check, now running the EU’s EES biometric system on the Croatian side - see our EES border crossing guide for what that adds to a first crossing. Keep your passport where you can reach it rather than buried in a bag, and build in some slack, because on a busy summer weekend the queue at the border can add a while to the timetable.

The A3 motorway running through the flat Slavonian plain in eastern Croatia toward Zagreb
Once across the border the coach joins Croatia's A3 motorway and runs dead straight across the Slavonian plain into Zagreb. Photo: Vasyatka1 / Wikimedia Commons, CC BY-SA 4.0 - https://commons.wikimedia.org/wiki/File:Autocesta_A3_in_Brod-Posavina_County_(2).jpg

Driving: the fastest way, and the most flexible

If you have a car, the drive wins on time. It’s about 393 km and under four hours, almost all of it on motorway: the road northwest out of Belgrade, over the border near Batrovci, then Croatia’s A3 running arrow-straight across Slavonia into Zagreb. It is an easy, dull, efficient drive with no mountains and no drama.

Two toll systems catch drivers out, so know them before you go. On the Serbian side there is no vignette: you take a ticket entering the motorway and pay at a booth as you leave, based on distance. Croatia works the opposite way, with tolls collected on the A3 via booths or the ENC electronic tag, and the Zagreb-bound stretch is a paid road. Budget for both, plus fuel and the border wait. And if you are in a hire car, check with the rental company first that the paperwork allows you to take it across into Croatia, because not every Serbian rental permits an international crossing without prior arrangement. Our guide to getting around Serbia covers the vignette-free toll system and hire-car rules in more depth.

If you would rather not drive but still want a door-to-door ride, two options fill the gap. BlaBlaCar is popular on this corridor and is the cheapest way of all when a suitable ride is going, sometimes barely 20 euros, though you’re at the mercy of whoever has posted your date. For a fixed, no-surprises pickup, especially if you’re landing at Belgrade airport and heading straight for Zagreb, a booked transfer takes the border and the logistics off your plate.

Flying: quick in the air, slow overall

Air Serbia flies Belgrade (BEG) to Zagreb (ZAG), and Croatia Airlines serves the route too. The hop is under an hour in the air, so on the timetable it looks like the obvious winner. In practice it rarely is. A short flight between neighbours is nearly all overhead: getting out to Nikola Tesla airport, checking in, security, the wait, then the ride into Zagreb from Franjo Tuđman airport add up to a door-to-door time of around four and three-quarter hours, no faster than the drive and slower than a smooth bus run once you account for it all.

The price is the other catch. Fares typically sit in the 90 to 200 euro band and up, several times the cost of the coach. Frequency is decent in summer, with Air Serbia running somewhere around a dozen or so services a week, but it thins out in the low season. Flying makes sense in two situations only: if the fare happens to crash on a quiet day, or if you’re connecting straight onward from Zagreb and want to keep the whole trip in the air rather than dragging luggage across a city.

St. Mark's Church in Zagreb's upper town with its tiled coat-of-arms roof
Zagreb's upper town, with the tiled roof of St. Mark's Church, is a short walk from the bus terminal and rewards a night or two rather than a rushed change. Photo: Bernard Gagnon / Wikimedia Commons, CC BY-SA 4.0 - https://commons.wikimedia.org/wiki/File:St._Mark%27s_Church,_Zagreb_02.jpg

Make Zagreb more than a transfer

Whichever way you arrive, Zagreb is worth more than a quick stop. The bus terminal is a short tram ride from Ban Jelačić Square, and from there the compact upper town is a walk or a ride on the century-old funicular, one of the shortest public funiculars anywhere, up to the tiled roof of St. Mark’s Church and the viewpoint by the Lotrščak Tower. It’s a city built for a slow day: café terraces, a walkable core, and museums like the quietly brilliant Museum of Broken Relationships. For the full picture of what to see and where to base yourself, our sister site’s Zagreb travel guide is the place to plan the Croatian half of the trip.

The bright blue carriage of Zagreb's old funicular linking the lower and upper towns
The stubby blue funicular has hauled passengers up to the upper town since 1890 and takes barely a minute end to end. Photo: Adam Harangozó / Wikimedia Commons, CC BY-SA 4.0 - https://commons.wikimedia.org/wiki/File:Zagreb_Funicular_02.jpg

So how should you travel?

Book the direct bus. For the vast majority of trips it is the right call: cheap at around 25 euros, five or six departures a day, and roughly five and a half hours capital to capital, with the only homework being a glance at the journey time and your passport ready for the border. Drive if you have a car and want the speed and the freedom to stop, remembering the two different toll systems and the hire-car paperwork. Fly only if the fare drops or you are connecting onward from Zagreb, because a sub-hour flight becomes a half-day once you count both airports. And forget the train, at least for now, because there has been no direct service since 2020 and the only rail workaround is slower and dearer than the coach.

If Zagreb is one leg of a wider Balkan trip, it pairs naturally with the rest of the ex-Yugoslav circuit. Our guide to Belgrade to Sarajevo covers the other classic overland hop, and if you’re still working out how to reach Serbia in the first place, how to get to Serbia maps out every way in.