I’ve seen a few questions about trains in the Balkans. It’s not always easy to find out routes, so I thought I’d try to gather as much information as possible on the current situation here.
Train travel in the Balkans (and buses and ferries)
In general, rail services in the Balkans are thin - especially international services. (See the map, but bear in mind that shows rail lines, not active services!) It’s also a cheap place for rail travel. Consider saving your pass days for somewhere else, and buy tickets locally.
You’ll need to use buses (try Rome2Rio, Omio, Flixbus, Getbybus, Busticket4.me for timetables and online booking) to fill the gaps. Sometimes you need to do it the old-fashioned way, and go to the bus station.
There are ferry connections from Italy (Venice, Ancona, Bari, Brindisi) across the Adriatic Sea. Check Rome2Rio or Direct Ferries for schedules to Croatia (Istrian Peninsula, Zadar, Split, Dubrovnik), Montenegro (Bar), Albania (Dürres) and Greece (Igoumenitsa, Corfu, Patras).
A railpass gives you a discount on many ferries, but the discount is often quite small. It’s not valid on buses.
How do I get from?
Croatia - Serbia
- No direct trains. There are direct buses between Zagreb - Belgrade
- Alternatively, take a train from Zagreb to eastern Croatia (Osijek or Vinkovici) and pick up a bus from there. This is likely to be slower and more hassle than direct bus
Croatia - Bosnia
- No international trains running on the Zagreb - Banja Luka - Sarajevo route. No domestic trains running between the two entities in Bosnia (Republika Srpska & Federation of BiH)
- Buses run between Zagreb - Sarajevo
- On the Dalmatian Coast, there’s the scenic Ploče - Mostar - Sarajevo line
- Services run to/ from Ploče (Croatia) on summer weekends only. The rest of the time the line only runs within Bosnia
- Tip: southern Croatia has no trains beyond Split! Use buses or fast boats (Krilo.hr, TP Line) or slow ferry (Jadrolinija) to reach further south, eg Dubrovnik
Bosnia - Serbia
- There are no trains running between the two entities in Bosnia (Republika Srpska & Federation of BiH)
- Buses towards Serbia depart from from East Sarajevo bus station, in the Republika Srpska
Bosnia/ Croatia - Montenegro
- No trains
- Plenty of buses, many requiring a change at Dubrovnik
- Ferry from Dubrovnik to Budva/ Kotor (Adriatic Lines) - avoids the congested coast road
Montenegro - Serbia
- Bar - Belgrade - very scenic railway. The overnight train runs all year; day train runs in summer only
- Connect from Croatia by bus
Montenegro - Albania/ Kosovo and onwards to Greece
- Bus connections from Podgorica
- Seat61 has some good infomation on international connections, and the domestic Albanian trains (if they’re operating!)
- Albania is not covered by Interrail
Serbia - Hungary
A new high-speed line is under construction between Belgrade - Budapest. In the meantime, you have to take a slow connecting route, described on Seat61
- The current route takes 13 hours, changing at Novi Sad, Subotica and Szeged
- It will reduce to 7 hours, avoiding the change at Novi Sad, but that has been delayed due to a building collapse. Check before travelling, possibly opening in March 2025
Serbia - Bulgaria
- No direct trains
- Take the train to Niš, then a bus to Sofia, described on Seat61
Serbia - North Macedonia
- No direct trains
- Take the train to Niš, then a bus to Skopje
Serbia - Kosovo - Albania
- No direct trains
- Take the train to Niš, then a bus to Pristina, and onwards to Prizren or Tiranë
- It’s possible that trains may be running between Pristina - Prizren. Check locally
Greece
- No international trains to/ from Thessaloniki
- If you’re in Sofia (Bulgaria), domestic trains run to Blagoevgrad, then take a bus to Thessaloniki
- If you’re in Skopje (North Macedonia), domestic trains run to Gevgelia
- Domestic trains in Greece are running
- The easiest way to reach Greece from Western Europe is by ferry from Italy
- Consider the Greek Islands Pass, which includes the ferry
Greece - best overland route, minimising buses
If you want to go overland, this route via Budapest-Belgrade-Sofia probably the easiest option. It only needs two buses (into and out of Bulgaria).
- Reach Budapest however you like
- Then take the connecting route to Belgrade (sleep Belgrade)
- Serbian train to Niš, then bus to Sofia (sleep Sofia)
- Bulgarian train to Blagoevgrad, bus to Thessaloniki (sleep Blagoevgrad or Thessaloniki)
- Train to Athens
Reaching Greece from Dubrovnik or Montenegro will require some long hours on buses, via Skopje or Tiranë. See this Seat61 page for guidance.
Turkey
A bit beyond the scope of this guide, as not in the Balkans! but again Seat61 has some excellent route suggestions. The most obvious options are:
- Budapest-Bucharest-Istanbul (direct couchettes from Bucharest-Istanbul in Summer, several changes required at other times)
- Budapest-Belgrade-Sofia-Istanbul (follow Greece route as far as Sofia, then pick up a direct sleeper to Istanbul which runs year-round)