Eurotraintrip
The main building of Ljubljana railway station

Ljubljana railway station's main building, the terminus for trains arriving from Zagreb.

Photo: Wikimedia Commons (public domain, self-published)

Zagreb to Ljubljana by Train

An international route between Croatia and Slovenia.

Reviewed by Eurotraintrip on 2026-07-30

Duration
2h 19m – 2h 32m
Price from
20 EUR
Distance
152 km
Operators
HZ Putnicki prijevoz (HZPP)Slovenske zeleznice (SZ)
Frequency
Around 5 direct trains a day, roughly every 2-3 hours from early morning to evening

Compare and book Zagreb–Ljubljana tickets

Check prices

What makes Zagreb to Ljubljana different

  • Zagreb Glavni kolodvor, this route's starting point, opened on 1 July 1892 as a 186.5-metre neo-Renaissance 'palace' station designed by architect Ferenc Pfaff under an 1890 act of the Royal Hungarian Government - it remains the largest railway station in Croatia and was once a scheduled stop on the original Orient Express.
  • Ljubljana railway station, this route's terminus, was completed on 18 April 1848 and officially opened on 16 September 1849 - a year before the Austrian Southern Railway linking Vienna and Trieste even reached the city, making it older than the international line it would eventually join.
  • Ljubljana's own station district is mid-transformation: the Emonika redevelopment project, launched in autumn 2024, is rebuilding the area around the station into a larger integrated transport and commercial hub, a change happening a full 44 years after the station's last major renovation in 1980 by architect Marko Music.

Zagreb station

Departs from Zagreb Glavni kolodvor, an 1892 neo-Renaissance station whose sculptural work was done by Hungarian sculptor Vilim Marschenko - reconstructed twice since, in 1987 for the Summer Universiade and again in 2006, with a preserved steam locomotive on display near the platforms.

Ljubljana station

Arrives at Ljubljana railway station, completed in 1848 and renovated in 1980 by architect Marko Music; the adjoining bus station makes onward regional travel a same-building affair, and the surrounding district is now being rebuilt under the Emonika redevelopment project launched in autumn 2024.

Train vs. other options

At just 152km, there's no realistic flight market between Zagreb and Ljubljana; driving the A2/A1 motorways covers the distance in a similar 2-2.5 hours to the train without traffic, but requires a Croatian and a Slovenian motorway vignette for the two different countries' roads, while the train drops you at a central station on both ends.

Booking tips

  • Fares typically run EUR 20-45 depending on how far ahead you book - there's no dramatically cheaper advance-only tier the way there is on some Western European routes, so booking a few days ahead is usually enough.
  • HZPP (Croatian Railways) and SZ (Slovenian Railways) jointly work this route, so check both national operators' sites rather than assuming one sells every seat on a given train.
  • The earliest departure leaves Zagreb around 5:11am and the last around 9:26pm - if you want a full day in either city before or after, the early train is the only realistic same-day option.

Good to know: Because HZPP and SZ jointly operate this corridor rather than either one running it alone, ticket availability and exact pricing can differ slightly between the Croatian and Slovenian booking platforms for the same physical train - worth a quick check of both before paying.

Frequently asked questions

How long is the train from Zagreb to Ljubljana?

Direct trains take around 2 hours 19 minutes to 2 hours 32 minutes, depending on the specific departure.

How much does the train from Zagreb to Ljubljana cost?

Fares typically run from around EUR 20 up to EUR 45 depending on how far ahead you book.

How many direct trains run each day between Zagreb and Ljubljana?

Around 5 direct trains a day, roughly every 2-3 hours from early morning (about 5:11am) to evening (about 9:26pm).

Related routes