Fastest ~1h30–2h by car
| 🚆 Train | ~2h15–2h40 | HŽ/SŽ direct, city-centre to city-centre |
| 🚌 Bus | ~2–2h30 | FlixBus, sometimes faster than train, low fares |
| 🚗 Car | ~1h30–2h | A3/A2 motorway, 140km, Slovenia vignette needed |
Planning this trip? Currency converter · Jet-lag calculator · Trip budget · Compare routes
Zagreb to Ljubljana is one of the shortest international journeys in this part of Europe — barely 140 kilometres as the crow flies, connecting Croatia's capital to Slovenia's compact, charming capital. It is an easy half-day in any direction, and the relaxed pace of the journey suits the two cities well. Train and bus both work comfortably; the drive is equally short.
The most comfortable option: the direct train
A direct train service runs between Zagreb Glavni kolodvor (Zagreb's main station) and Ljubljana, taking approximately 2 hours 15 minutes to 2 hours 40 minutes depending on the service. Several trains run each day, operated by Croatian Railways (HŽ Putnički prijevoz) and Slovenian Railways (SŽ) in coordination. The route crosses the Croatian–Slovenian border in the Sava river valley, through pleasant green landscape.
The train is not high-speed by Western European standards, but it is comfortable and reliable, and arrives city-centre to city-centre at both ends. Fares are reasonably priced. Reservations are not always compulsory on this route, but booking ahead is sensible in summer when the line is popular with tourists. Check reservation requirements when buying your ticket.
Interrail and Eurail pass holders can use this route — both Croatia and Slovenia are covered. The cross-border service is a pleasant and unhurried way to move between the two countries.
The cheapest way: long-distance coach
Coach services — including FlixBus — connect Zagreb and Ljubljana in approximately 2 hours to 2 hours 30 minutes, sometimes faster than the train depending on the specific service and border wait. Fares tend to be low, especially when booked ahead. Coaches are popular with budget travellers and students, and are a perfectly reasonable alternative to the train on this short route.
Zagreb departures are usually from the main bus terminal (Autobusni kolodvor Zagreb), close to the central rail station. Ljubljana arrivals are at the main bus station next to Ljubljana's railway station. The FlixBus guide covers tips for using the network across the Western Balkans and Central Europe.
Driving: quick and flexible
The drive from Zagreb to Ljubljana follows the A3 motorway west from Zagreb, connecting to the A2 towards the Slovenian border, covering about 140 km in roughly 1 hour 30 minutes to 2 hours under normal conditions. The border crossing at Bregana or one of the other main road crossings is an EU internal Schengen border — no routine checks, though spot checks do occur.
Croatia joined the Schengen Area in 2023, so the land border between Croatia and Slovenia is now an internal Schengen crossing for most purposes. Non-EU visitors should note that days in both countries count toward the same Schengen 90-day allowance. Both countries also use the euro since Croatia adopted it in January 2023, so there is no currency exchange to worry about.
The drive is easily the fastest option and makes sense if you have luggage, are travelling as a group, or want to continue onwards to the Slovenian coast or beyond. Slovenia's motorway network also requires a vignette — buy it at a petrol station before or after crossing the border.
Flying: not relevant
At 140 km, there is no meaningful domestic flight between Zagreb and Ljubljana and none is operated. Do not factor aviation into planning for this journey.
Which should you choose?
All three realistic options — train, coach and car — work well on this short route. The train is the most comfortable and hassle-free, arriving centrally in both cities. The coach is cheapest and sometimes surprisingly fast. The car is fastest of all and makes most sense for groups or those with onward plans in Slovenia. Given the short distance, none of these involve a particularly taxing journey — pick whichever suits your itinerary.
Both cities in one day: The short distance makes a day trip feasible in either direction, though you will want an early start to make the most of whichever city you are visiting. Ljubljana is compact enough to see the highlights — the castle, the old town and the riverfront — in a long afternoon.
About Ljubljana
Ljubljana is one of Europe's smaller and most underrated capitals. The medieval castle towers over a walkable old town full of outdoor cafés and baroque architecture. The Ljubljanica river runs through the centre, lined with bridges — the most famous is Jože Plečnik's Triple Bridge. Slovenia's capital is also an excellent hub for onward travel: day trips to Lake Bled and the Triglav National Park are easy, and the journey onward to Venice by train is a classic route.
Station orientation: Zagreb Glavni kolodvor and Ljubljana
Zagreb's main station, Glavni kolodvor, sits at the southern edge of the city centre, a short walk or tram ride from the main square, Trg bana Jelačića, and the upper and lower towns. It's a grand, if slightly faded, Austro-Hungarian-era building with ticket counters, a café and left-luggage facilities. Ljubljana's railway station is equally central, standing right next to the bus station, which makes comparing train and coach departure times, or switching between the two at short notice, genuinely easy — both are within a few minutes' walk of Ljubljana's compact old town.
Common mistakes to avoid
- Don't assume every train or coach on this route is non-stop — some services call at smaller towns along the way, adding time. Check the specific departure's journey time rather than assuming they're all identical.
- Don't forget that while both countries use the euro and are Schengen members, this doesn't mean there are zero border formalities for non-EU travellers — carry your passport and be ready to show it, even if checks are usually quick or waived.
- Don't leave booking a summer weekend train or coach until the last minute; while this route is rarely fully booked, the more popular midday and evening departures can sell out in the height of the tourist season.
- If driving, don't forget the Slovenian motorway vignette — it's easy to overlook when crossing what feels like an open border, but fines for driving without one are steep and enforcement is active.
Practical tips for the journey
Both the train and coach on this route are comfortable enough that packing a snack or drink for the journey is really just a matter of preference rather than necessity — neither service typically includes a buffet car, so bring your own refreshments if you'd rather not rely on station kiosks at either end. Mobile data generally works fine across the border for most European SIM plans, given both countries are in the EU, but it's worth checking your specific plan's roaming terms if you're travelling on a non-European contract. The scenery along the route, particularly the stretch through the Sava valley and into Slovenia's rolling hills, is worth having a window seat for, whichever mode of transport you choose.
Frequently asked questions
How long is the train journey from Zagreb to Ljubljana?
Direct trains take approximately 2 hours 15 minutes to 2 hours 40 minutes. Services run several times a day, operated by Croatian and Slovenian railways.
Do I need a visa to travel from Croatia to Slovenia?
Both countries are EU and Schengen members. There are no routine border checks for EU/EEA citizens. Non-EU visitors should carry their travel document and be aware that days in both countries count toward their Schengen 90-day allowance.
Is there a bus from Zagreb to Ljubljana?
Yes — FlixBus and other operators run coaches in about 2 to 2.5 hours. Fares are generally lower than the train and the journey time is similar.
Do I need a vignette to drive in Slovenia?
Yes. Slovenia requires a motorway vignette for all vehicles. It is available at petrol stations and border crossings. Buy it before using the motorway — fines for non-compliance are steep.
Sources and further reading:
- Train timetables: Croatian Railways (hzpp.hr) and Slovenian Railways (slo-zeleznice.si).
- Schengen border rules: European Commission.
- Motorway vignette: DARS (dars.si).
