Zagreb to Ljubljana by train
Six direct trains run from Zagreb to Ljubljana most days, taking about 2 hours 30 minutes, with a EUR 9 station fare and no reservation needed.

There is no shortage of direct trains between Zagreb and Ljubljana. Six run most days, with two extra weekend services that have extended the route to Pula on Croatia's Istrian coast. The real planning question on this corridor is not whether a direct train exists, but which of the six fits your day.
Zagreb to Ljubljana by train at a glance
| Detail | What to expect |
|---|---|
| Direct service | Yes, every regular departure runs without a change |
| Typical journey time | About 2 hours 20 minutes to 2 hours 40 minutes, depending on the train |
| Daily frequency | 6 direct trains each way most days, plus a Friday departure and Sunday return that have extended to Pula |
| Departure station | Zagreb Glavni kolodvor (Zagreb Main Station) |
| Arrival station | Ljubljana railway station |
| Operators | HŽPP (Croatia) and SŽ (Slovenia), running the corridor jointly |
| Fare anchor | From EUR 9 one way in 2nd class with the Zagreb Spezial or Ljubljana Spezial fare |
| Seat reservation | Not required, and not offered, on this route |
These are representative times and fares from the current published timetable. Treat them as orientation and check the exact departure when you book.
Frequency, journey time, and which train to catch
Two kinds of train share this route, and either one gets you there. The EuroCity and EuroNight-numbered services, HŽPP's locomotive-hauled trains, are the faster option and cover the corridor in as little as 2 hours 20 minutes. The Stadler Flirt regional trains, run by SŽ, are newer and more comfortable for the price: free WiFi and a power socket at every pair of seats, though no catering, so bring your own food and drink. Both categories call at the same two stations and cost the same fare, so choose the departure time that suits your day rather than the train type.
Both kinds of train also follow the same route, tracking the Sava river through the hills between the two capitals. If you were hoping the cheaper regional train meant a lesser view, it does not.
On top of the six daily services, an extra Friday departure and Sunday return extend this route to Pula, the first direct rail link between Zagreb, Ljubljana and Pula in more than 30 years. That extension runs as part of the timetable valid from 14 June 2026, confirmed current on both HŽPP's and SŽ's own timetable pages, not a one-off pilot from a past season.
Buying your ticket, and why not to book online
The cheapest way to travel this route is also the simplest. Both HŽPP and SŽ sell a fixed EUR 9 one-way fare in 2nd class, the Zagreb Spezial or Ljubljana Spezial depending on which direction you check it from, with a return priced at EUR 18. This fare is sold only at the station ticket window, not online, so there is nothing to book in advance and nothing to reserve. Turn up and buy on the day.
Travelling as a group changes the maths. The City Star fare prices tickets per group of two to five people rather than per person, and it can beat the standard fare for families or friends travelling together. Children aged 6 to 15 pay half the adult Spezial fare.
If you are relying on an Interrail or Eurail Pass, both HŽPP and SŽ are long-standing participating railways, so this corridor generally falls within pass coverage. Since no reservation exists on this route, there is nothing extra to book on top of the pass itself. Confirm current pass conditions before you travel, since scheme terms can change.
Stations at each end
Zagreb Glavni kolodvor is the only Zagreb station this route uses, so there is no station choice to make on departure.
Ljubljana's railway station is central too. HŽPP itself points arriving passengers straight to Prešeren Square and the Triple Bridge as the natural starting point for exploring the city on foot.
Crossing the Croatia-Slovenia border
Croatia and Slovenia are both part of the Schengen Area, and Croatia's internal border checks were lifted from 1 January 2023, confirmed by the Council of the EU. This crossing does not normally involve routine passport checks. Carry a valid passport or national ID card anyway: Schengen states can reintroduce temporary border controls, and conductors on this route still walk through the carriages to check tickets during the crossing.
Where to book
Train tickets
- Check times & prices
Omio
Omio connects you with over 1,000 transport providers - trains, buses, flights, and more - to simplify your travel planning.
Train service
- Check times & prices
HŽPP is Croatia's national rail operator, running domestic InterCity trains alongside international EuroCity and night services to neighbouring countries.
Official website - Check times & prices
SŽ (Slovenske železnice) is Slovenia's national rail operator, running InterCity Slovenija tilting trains plus EuroCity links to Austria and Croatia.
Official website
Find places to stay in Ljubljana

Frequently asked questions
Is there a direct train from Zagreb to Ljubljana?
Yes. Six direct trains run most days in each direction, taking about 2 hours 20 minutes to 2 hours 40 minutes, with an extra Friday departure and Sunday return that extend the route to Pula as part of the current timetable.
How much does the train from Zagreb to Ljubljana cost?
Both HŽPP and SŽ sell a fixed EUR 9 one-way fare in 2nd class, the Zagreb Spezial or Ljubljana Spezial, with a return at EUR 18. Group and child fares are also available.
Do I need to reserve a seat on this train?
No. Seat reservation is neither required nor offered on this route. Buy your ticket at the station and board.
Is the Zagreb to Ljubljana train scenic?
Yes. Both the EuroCity trains and the Stadler Flirt regional trains follow the same route along the Sava river through the hills, so the view is the same whichever train you choose.
Can I use an Interrail or Eurail Pass on this route?
Generally yes. HŽPP and SŽ are both long-standing participating railways, and since no reservation exists on this corridor, there is nothing extra to book beyond the pass itself. Check current pass conditions before you travel.