Serbia and Croatia might be neighbors, but traveling between them isn’t always as straightforward as looking at a map suggests.
While the physical distance is short, the logistical reality involves navigating the external borders of the European Union, getting out or into the Schengen area, and knowing exactly which station your transport leaves from (because they have moved).
Whether you are heading to Zagreb for business or hitting the Dalmatian coast for a summer vacation, you need to know all the details which I am going to share in today’s article that tells you everything you need to know about navigating from Belgrade to Croatia.
Pre-Trip Information
No matter if you decide to drive from one place to another, take bus or train (or fly), here are the important things you should have in mind:
1. The Border is Real (Schengen Area)
Croatia entered the Schengen Area in 2023, which means that the border between Serbia (Bajakovo/Batrovci) is now an external EU border. Passport control is strict here (on both sides), and during the high season (mid-June to late August), or around major holidays, wait times can skyrocket up to a few hours.
If you travel by plane, you skip this road chaos entirely – but still spend some time at passport control.
2. Check Your Documents (ETIAS)
Ensure your passport is valid for at least three months beyond your planned departure from the EU. Also, check if you need an ETIAS travel authorization (the digital visa waiver for non-EU citizens) before you arrive at the border.
With these in mind, let’s see what your best options are.
Belgrade to Croatia by Bus

If you don’t like to fly, riding the bus is the fastest and best option, no matter where in Croatia you need to go. This option is also usually the fastest and my preferred way, overall (especially because I don’t particularly like planes).
Bus lines from Belgrade to Zagreb are the most frequent, with several daily connections, even outside of the main season months.
While the driving time is technically about 5 hours and 30 minutes, you must count on delays due to the border formalities I mentioned above.
All international buses now depart from the main Belgrade Bus Station (BAS) located in New Belgrade (Block 42).
Companies and Costs
The route is operated by a mix of legacy and modern carriers. For all options, I recommend looking at the schedules here (add your dates).
To the Coast: There are direct seasonal buses to Split, Pula, and Dubrovnik, but be warned – these are long overnight hauls (12+ hours).
Serbia to Croatia by Plane

The quickest way to reach Croatia – and the only way to reliably avoid the border traffic jams – is taking a flight from Belgrade.
There are various companies offering flights to various destinations in Croatia (such as Zagreb, Split, Dubrovnik, Pula, and Zadar) with Air Serbia being the main player. In all cases, flight times are around one hour.
You can check available flights for your dates here. Depending on when you travel (season or off-season), you will have more or fewer options, including direct flights.
- Zagreb: Daily flights year-round.
- The Coast (Split/Dubrovnik): These are often seasonal (May-October), though Dubrovnik sometimes has direct winter connections.
- Pricing: Fares have normalized around €100 if booked well in advance.
You can take a look at all International Airports in Croatia here.
The “Tivat Hack” for Dubrovnik
If direct flights to Dubrovnik are sold out or too expensive, there is an alternative I always recommend. Fly from Belgrade to Tivat (Montenegro). Tivat Airport is only a 90-minute drive from Dubrovnik.
- The Strategy: Air Serbia flies to Tivat at least once per day, and the flight is also just around one hour.
- The Transfer: From Tivat airport, you can take a bus or a pre-arranged transfer to Dubrovnik. Just remember, you will still have to cross the Montenegro-Croatia border (Karasovići), but usually it should be faster than taking a bus or driving.
Driving from Serbia to Croatia

If you prefer the freedom of your own vehicle, driving is a solid option, provided you plan for the border.
Considering Belgrade as your starting point, the average distance to the Croatian border is short, but the total trip depends heavily on your final destination.
Route 1: The Highway to Zagreb & Split (Fastest)
The distance from Belgrade to Split is about 800 km if you take the E70 highway straight to Zagreb and then the A1 highway south to Split. It will take you about 7 to 8 hours of pure driving time.
- Pros: It is almost entirely highway. It is smooth, safe, and easy to navigate.
- Cons: The tolls are expensive (expect to pay over €60 one way in tolls alone!), and you hit the main Batrovci border crossing, which is the busiest.
Route 2: Across Bosnia (The Scenic/Adventure Route)
There is another way: driving across the territory of Bosnia and Herzegovina if you want to reach Dubrovnik. This will take you more time (approximately 10 hours), but it is visually stunning and cheaper on tolls.
You have a few options here as well:
- Via Bijeljina: This route is only 544 km long, but don’t let the mileage fool you. It requires almost 10 hours of driving because you are on single-lane roads through villages. I still wouldn’t advise this direction unless you enjoy very challenging and uncommon routes.
- Via Brčko (Recommended for Sightseeing): This is longer (600 km) but more advisable if you want to turn the trip into a mini-vacation. It allows you to visit Sarajevo and Mostar on your way down.
- Via Banja Luka: The longest road (705 km) to Dubrovnik. It takes over 11 hours, and traveling costs are higher due to fuel consumption.
Important Note for Dubrovnik Travelers: If you drive through Bosnia to get to Dubrovnik, you should aim to re-enter Croatia via the Pelješac Bridge.
This allows you to bypass the Neum corridor (a small strip of Bosnian coast), meaning you avoid doing two extra border crossings in the span of 20 minutes. This bridge also opens the door to easy travel routes from Dubrovnik to Split or other cities in the country.
Belgrade to Croatia by Train
No matter how much I love riding the train, I have to be honest here and warn you: traveling by train is currently the least efficient method.
First, you must know that the old “Belgrade Railway Station” built in 1884 (the beautiful yellow building in the city center) is now a museum piece.
Trains do not leave from there – you must go to Belgrade Centre (Prokop) instead. It is a shiny new station, but it is located a bit outside the central zone, so you will need a taxi or a bus (Line 36) to reach it.
Now, the train itself is generally a miss. When I traveled the last time from Zagreb to Belgrade, the name of the train was the only impressive thing (something like “The Pearl of the Adriatic”). In reality, the quality and the entire experience are below par.
This year, there is typically one daily connection, but it often requires a transfer or a bus substitution for part of the journey due to track upgrades.
It is slow. The trip that used to take 7 hours can now take 9 or more. One-way tickets are cheap (around €30), but you pay for it with your time and the train itself needs an upgrade and some solid cleaning.
All in all, unless you are a dedicated rail enthusiast who loves the nostalgia of slow travel, take the bus or the plane. If you are a rail enthusiast, then you should also read my article dedicated to train travel in Croatia.
Final Thoughts
Getting from Belgrade to Croatia is straightforward and it can be cheap if you plan ahead. The key takeaway is simple: avoid the train unless you have time to waste, and either choose the bus or plane.
Pick the route that fits your schedule, have your travel documents ready, and enjoy the journey!
Hello I’m here right now in serbia I need to visit crotia for one day so. There is a direct train or there is any broder crossing check point on this route to enter crotia thanks
No, the train has stopped running during the pandemic and is still suspended.
As mentioned in the article – yes, there is a direct train between the two destinations. You will be crossing borders and passports/ID will be checked.