The train journey from Ljubljana to Zagreb is one of the most convenient ways to hop between Slovenia and Croatia – two capitals separated by just 117 km of rail. Here’s what you need to know to plan your trip with confidence.
Ljubljana–Zagreb Train Basics
Let’s cut straight to it. There are typically 2–4 direct trains per day running between Ljubljana and Zagreb, depending on the season and day of the week. Most journeys take around 2h 20m to 2h 40m, with standard 2nd-class advance tickets usually costing between €9 and €20 one way. Seat reservations are not normally required – you simply board and find a free spot.
Here’s the quick snapshot:
- Entfernung: 117 km by rail
- Fahrtzeit: 2h 9m to 2h 40m for direct trains (regional services with more stops can stretch to 3h)
- First train: Typically departs Ljubljana around 06:50, arriving Zagreb before 10:00
- Last train: Usually leaves Ljubljana around 16:45–17:00, arriving Zagreb by early evening
- Midday option: Often a departure around 14:45
- Direct vs connections: Most services are direct; connections via Dobova add time
- Grenzkontrollen: Passport/ID checks happen on board – keep documents accessible
The route is operated jointly by Slovenian Railways (SŽ) and Croatian Railways (HŽPP). You won’t find a high speed train on this corridor – instead, expect modern regional or InterCity-type stock running at conventional speeds. The infrastructure averages around 50–70 km/h including stops and the brief border segment.
Timetables and Frequency Ljubljana–Zagreb
Train times change with each annual timetable revision, typically taking effect in mid-December. The current schedule runs from December 2024 through December 2025, with minor seasonal adjustments possible. Always double-check close to your travel date – a quick look at the SŽ or HŽPP website saves headaches.
A typical day follows this pattern:
Morning departure: One train leaves Ljubljana around 06:50–08:10, arriving Zagreb between 09:30 and 10:30. This suits early birds connecting onward or maximising their day in Croatia.
Midday/early afternoon: Expect a departure around 14:45, arriving Zagreb by 17:15. This works well if you’re not rushing out of Ljubljana.
Late afternoon/evening: The last direct train usually departs around 16:45, getting you into Zagreb Glavni kolodvor by 19:20 or so – still time for dinner and a wander through the centre.
Seasonality matters. From late June through mid-December 2025, HŽPP is reviving direct through trains on the Zagreb–Ljubljana–Pula corridor on Fridays and Sundays. These add more options on those specific days, bumping frequency to perhaps 6–8 trains. In winter, the baseline drops back to 3–4 direct services.
Engineering works occasionally disrupt the line, particularly around the Dobova border crossing. When track work hits, replacement buses cover part of the route, potentially adding 30–60 minutes to your trip.
Before you travel, verify:
- Your exact departure time and train category (IC, EC, regional)
- Whether the train runs on your specific date
- Any posted engineering notices on SŽ or HŽPP portals
- Platform assignments at the station – these appear on departure boards about 15–20 minutes before
How Long the Journey Takes
The rail distance from Ljubljana to Zagreb is 117 km, and most direct trains cover it in 2h 20m to 2h 40m. The fastest recorded services clock in at around 2h 9m, typically on InterCity or ÖBB-operated trains with fewer intermediate stops.
What creates the variation? A few factors:
Train type matters. InterCity and EuroCity services stop only at major stations like Zidani Most and Dobova, shaving minutes off the run. Regional trains (marked “R” or “LP” in timetables) halt more frequently, sometimes pushing journey times closer to 3 hours.
Border procedures. Since Croatia joined Schengen in March 2023, checks have simplified considerably. On-board passport verification by police rarely adds more than 5–10 minutes. Still, some timetables build in buffer time at the Dobova crossing.
No night services to speak of. There’s no dedicated sleeper train on this short route – all departures are daytime. The EN 415 (EuroNight) passing through is essentially a morning service on this segment, arriving by 10:30.
If you’re catching a flight from Zagreb or connecting to a long-distance train, allow a buffer of at least 45 minutes beyond scheduled arrival. Delays are uncommon – operators report around 95% on-time performance – but border-related hiccups can cascade on busy days.
What affects your journey time:
- Stopping pattern (fewer stops = faster)
- Train category (IC/EC typically quicker than regional)
- Time of year (summer additions may run slightly different patterns)
- Rare border or engineering delays
Ticket Prices and How to Buy
Let’s talk money. The Ljubljana to Zagreb route offers a range of ticket prices depending on when you buy, what class you choose, and which tariff applies.
Price overview:
- 2nd-class advance or promotional fares: €9–15
- Standard flexible international tickets: €20–30
- 1st-class fares: roughly 30–50% more (around €13–22 base, up to €45 flexible)
Here’s the good news: this is a short cross-border hop, so walk-up fares at the ticket office on departure day are often only marginally higher than advance prices. If you didn’t plan ahead, buying a train ticket that morning at Ljubljana station usually costs €15–20 – not the wallet-punch you’d face on longer European routes.
Main ticket types to understand:
- Standard flexible international ticket: Valid on your chosen date, typically any direct train that day. Partially refundable. Usually €20–30 in 2nd class.
- Promotional or advance offers: Cheaper (€9–15) but less flexible, limited quota. These appear when you book 1–2 months out via SŽ or aggregators.
- 1st vs 2nd class: Same journey time, but 1st class offers quieter carriages, slightly roomier seating, and fewer passengers. Worth considering for a few euros more if you value a calmer trip.
Where to buy tickets:
The most straightforward approach? Visit the ticket office or machines at Ljubljana railway station. You’ll get cross-border tickets valid for the full journey, priced in euros (both Slovenia and Croatia use €). Staff can explain any current discounts or special tariffs.
Other options include:
- HŽPP counters at Zagreb Glavni kolodvor
- Online via potniski.sz.si (SŽ’s booking portal)
- International aggregators like Omio, Trainline, or Rail Europe
- ÖBB’s platform, which sometimes shows competitive fares
Buying at the station avoids digital validation quirks and ensures integrated through-ticketing if you’re connecting onward.
Discounts worth asking about:
- Children 6–12 typically travel at half fare
- Youth (under 26) and seniors (over 65) may get reductions through SŽ, though rules vary for internationals
- Group discounts (CityStar weekend returns for 2+ travellers)
All prices display in euros. Both countries adopted the currency, so there’s no exchange hassle.
Quick tips for cheap train tickets:
- Book 1–2 months ahead if hunting for cheapest tickets quotas
- Check aggregators on Thursdays – Omio data suggests better availability mid-week
- Consider 1st class if the price gap is small; it’s often only €5–10 more
Do You Need a Reservation?
Short answer: usually not. On most Ljubljana–Zagreb trains, seat reservations optional is the default. Regional services don’t issue reservations at all – you board, scan for an empty spot, and settle in.
For InterCity or EuroCity trains like the EC Mimara or INT Sava, an optional seat reservation might be available for €2–5. This guarantees a specific seat on a specific departure. But here’s the thing – local travellers rarely bother. The trains seldom fill completely except on peak summer weekends.
When a reservation makes sense:
- You’re travelling on a Friday or Sunday in July/August when summer through trains to Pula are running
- You’re in a group of 4+ and want to sit together
- You’re carrying large luggage and want to be near the storage area
- Peace of mind matters more than saving a few euros
How to request one:
Ask at the ticket office when purchasing your ticket. Reservations link to a specific departure, so you’ll need to commit to a train time. You can’t reserve without a valid ticket for that service.
If trains feel crowded and you can’t find a seat, standing room between carriages is an option for short stretches – though on a 2+ hour trip, that’s less than ideal.
Stations: Ljubljana and Zagreb Glavni Kolodvor
All direct trains on the Zagreb route use the main station in each city: Ljubljana railway station and Zagreb Glavni kolodvor.
Ljubljana Station
Ljubljana’s train station sits about a 10-minute walk from the old town and Prešeren Square. It’s a functional mid-sized station – not architecturally stunning, but efficient.
Layout and facilities:
- 5–7 platforms connected by an underpass
- Staffed SŽ ticket office (open roughly 05:30–21:00)
- Multilingual ticket machines accepting cards and cash
- Small cafés, shops, and ATMs
- Basic waiting rooms
- Taxi rank directly outside
- Tram and bus connections nearby
Accessibility exists but isn’t seamless. Ramps and lifts serve the main underpass, though some older platform sections challenge wheelchair users. If you need assistance, contact SŽ in advance.
Practical approach: Arrive 15–20 minutes before departure. Check the departure board for your platform assignment (it appears 10–15 minutes beforehand), then make your way down. Conductors validate tickets on board, not at a barrier.
Zagreb Glavni Kolodvor
Zagreb main station is a grand 1892-built edifice that anchors the city’s transport network. It faces King Tomislav Square, with tram stops directly in front linking to Ban Jelačić Square and other districts.
Layout and facilities:
- 17 platforms (though most Ljubljana arrivals use the central ones)
- Expansive ticket hall with HŽPP counters
- Currency services and ATMs
- Multiple food outlets and a supermarket nearby
- Schließfächer für Gepäck
- Improved lifts for accessibility
- Taxi rank and public transport hub
This station functions as a superior onward hub if you’re continuing deeper into Croatia or towards Hungary/Serbia.
What to expect at each station:
- Platform info on departure boards (check 15–20 mins early)
- Announcements in local language plus sometimes English
- No ticket barriers – inspectors check on board
- Straightforward layouts once you’ve oriented yourself
On-Board Experience and Luggage
The trains running Ljubljana to Zagreb use modern or refurbished regional and InterCity coaches. Expect air-conditioned carriages with 2nd-class seating in 2+2 configuration – either open-plan saloons or traditional compartment cars depending on the specific train.
Rolling stock overview:
- 2nd class: standard upholstered seats, adequate legroom, luggage racks overhead
- 1st class (when available): slightly wider seats, fewer passengers, quieter atmosphere
- Mix of newer SŽ/HŽPP stock and older but maintained carriages
Luggage rules:
There’s no formal check-in or weigh-in. Standard suitcases, backpacks, and personal bags travel included in your fare. Stow larger items on overhead racks or in the luggage bays at carriage ends. Hand luggage stays with you.
For small pets, carriers are usually welcome – check specific rules when booking if you’re travelling with animals.
Amenities on board:
- Power sockets at many seats on newer trains (bring an EU plug adapter)
- Wi-Fi is variable – some trains have it, others don’t, and speeds are unreliable
- Toilets available in each carriage section
- Occasional trolley service for drinks and snacks, but no full restaurant car on this short route
Comfort tips:
- Sit on the Sava-facing side for stretches of wonderful river valley scenery
- Bring water and snacks – the trolley isn’t guaranteed
- Keep your passport or ID in an accessible pocket for border checks
- Choose window seats for views, aisle seats for leg-stretching
The journey is short enough that even basic seating stays comfortable. Bring a book, queue up a podcast, or simply watch Slovenia transition into Croatia outside the window.
Border Crossing, Passports and Tickets for Non-EU Travellers
Slovenia and Croatia are both in the Schengen Area now. Since Croatia joined in March 2023, border checks on this route have simplified significantly. However, police may still conduct on-board passport or ID checks during the journey – particularly between Dobova and the Croatian side.
Was Sie erwarten können:
- Slovenian and/or Croatian police board the train (separate from ticket inspectors)
- They’ll ask to see your passport or EU ID card
- A few routine questions are possible (“Where are you travelling?” “How long are you staying?”)
- Checks rarely last more than 5–10 minutes for the whole carriage
Tickets and the border:
Your train ticket covers the entire international route – there’s no separate “border segment” to purchase. However, your right to enter and remain in Croatia (or Slovenia) depends on your nationality and visa status.
For non-EU/EEA/Swiss travellers:
- Confirm you meet Schengen entry requirements before travel
- Check the 90/180-day rule if you’ve already spent time in other Schengen countries
- Keep your passport accessible throughout the journey – not buried in luggage
Documents to carry:
- Valid passport or EU ID card
- Your train ticket (paper or mobile)
- Proof of onward travel or accommodation if requested (rare but possible)
- Any required visa documentation
Ticket inspectors and border police are different officials. One checks your fare, the other checks your right to cross. Both will visit your car during the trip.
Rail Passes on the Ljubljana–Zagreb Route (Interrail / Eurail)
Both Slovenia and Croatia are fully covered countries on Interrail und Eurail passes. Your pass is valid on standard SŽ and HŽPP trains between Ljubljana and Zagreb – no supplements required for the basic journey.
How to use your pass:
- Activate a travel day for the date you’re taking the train
- Carry your physical or mobile pass ready for inspection
- Register or fill in the journey according to your pass type’s rules before boarding
- Show both your pass and ID when the conductor comes through
Reservations for passholders:
Good news here. Most Ljubljana–Zagreb trains have no compulsory reservation, so your pass alone gets you on board. If you spot an InterCity or EuroCity where an optional reservation exists, you can pay the small fee (€2–5) for a guaranteed seat – but it’s your choice.
Lohnt sich ein Pass für diese Strecke?
Let’s do the maths. A typical point-to-point ticket runs €9–30 depending on advance purchase and flexibility. Using a travel day on a multi-day Eurail Global Pass (which might cost €200+ for several days) just for this single 2h hop? That’s poor value.
Passes make sense when:
- You’re combining Ljubljana–Zagreb with longer journeys the same day (e.g., continuing to Split or heading back to Vienna)
- You’re on a multi-country trip using trains heavily for a week or more
- The per-day pass cost works out below what you’d pay in separate tickets
Simple tickets win when:
- You’re doing a single weekend break between these two cities
- You’re only making this one train trip in the region
- Advance fares drop below €15
Calculate your full itinerary before deciding. For most casual visitors doing a Ljubljana–Zagreb day trip or weekend visit, a standard ticket is cheaper and simpler.
Bus vs Train Between Ljubljana and Zagreb
Buses connect these cities too – FlixBus, Arriva, and others run 18+ departures daily. Here’s how they stack up against the train.
Geschwindigkeit: Buses take roughly 2h to 2h 30m without traffic, occasionally edging the train. But road congestion around either city can add unpredictable delays.
Price: Bus fares start around €6–15 one way. Trains run €9–30. On price alone, buses sometimes win – but not always.
Komfort: Trains offer more legroom, the ability to walk around, and generally smoother motion. If you’re prone to car sickness, rail wins.
Environment: Trains produce roughly 20–30g of CO2 per passenger-km versus 40–60g for buses (EU averages). For the eco-conscious, rail is the greener choice.
Choose the train if:
- You’re carrying larger luggage and want easy storage
- You value space to stretch and move
- Motion sickness is a concern
- You want the more scenic Sava valley route
- Reliability matters (fixed timetables, no traffic variables)
Choose the bus if:
- You need a late-night departure when no trains run
- A specific bus promotion undercuts rail fares significantly
- Your accommodation is right next to a bus terminal
- The bus schedule simply fits better with your plans
Both options work. For most travellers, the train offers a more comfortable and predictable experience for a modest price difference.
Connections and Onward Travel from Zagreb and Ljubljana
Both cities function as regional transport hubs, opening up plenty of onward possibilities.
From Zagreb
Zagreb Glavni kolodvor connects you to:
- Teilen: Frequent IC trains, around 5–6 hours through wonderful Croatian scenery. Also regular buses if timing suits.
- Rijeka: Trains and buses to the Adriatic coast, roughly 4 hours by rail.
- Budapest: EuroCity services, approximately 6 hours. A solid day trip or overnight connection.
- Belgrade: Nachtzug services have been suspended or re-routed in recent years – verify current schedules if this route interests you.
The station’s tram links get you anywhere in Zagreb quickly, should you want to break your trip and explore before continuing.
From Ljubljana
Ljubljana station offers connections to:
- Vienna and Salzburg: ÖBB Railjet and EuroCity services, 6–8 hours depending on routing.
- Munich and Zurich: Longer journeys but direct or single-change options exist.
- Lake Bled: Take a domestic train to Lesce-Bled (about 1 hour), then local bus to Bled town.
- Maribor: Frequent domestic trains to Slovenia’s second city, around 2 hours.
Planning advice:
- Allow at least 30–45 minutes between your Ljubljana–Zagreb arrival and any onward departure
- Through tickets combining this route with further segments may be available at staffed counters – ask about integrated tariffs
- Check current schedules for any international connections, as some routes have changed post-2022
When to Book and How Far in Advance
This short cross-border route rarely sells out completely. Even during peak summer, you’ll typically find space on at least one of the day’s departures.
General booking guidance:
- 3–7 days ahead: Usually sufficient for peak periods (July–August, Christmas, Easter)
- Day of travel: Works fine most of the year, especially Monday–Thursday
- 1–2 months ahead: Only necessary if hunting specific promotional fares or needing a guaranteed time during major holidays
Some discounted advance fares appear 1–2 months before departure through SŽ or aggregator platforms. But honestly? The savings compared with standard fares are often modest – perhaps €5–10. Don’t stress about booking months in advance.
Faustformel:
- Confirm your dates, then purchase within a week of travel
- For July–August weekends, book a few days early to secure preferred departure times
- Reservations (where available) can be added with your ticket – no benefit to reserving months ahead
- Walk-up buying at the station works well and avoids digital ticket complications
The train journey between these two capitals is refreshingly low-stress from a booking perspective. Buy when you’re ready, board when the day arrives.
Practical Tips for a Smooth Ljubljana–Zagreb Train Trip
Here’s your pre-departure checklist to keep things simple:
Am Bahnhof:
- Arrive 15–20 minutes before departure
- Check departure boards for platform assignments (they appear 10–15 mins early)
- Keep your train ticket and passport/ID easily accessible
Money and food:
- Carry some cash in euros for station snacks or onboard trolley purchases
- Bring your own water and a light meal – there’s no restaurant car on this route
- Both countries use the euro, so no currency swap needed
Choosing your seat:
- Window seats offer the best scenery
- Sit near luggage racks if you’re carrying heavy bags
- Avoid vestibules and doors if noise bothers you
- For Sava valley views, sit on the right side heading towards Zagreb
Border and documents:
- Keep passport handy in your pocket, not buried in luggage
- Expect a brief on-board check – have documents ready
- Answer police questions simply and politely
Making the most of it:
- The trip is short enough to be a day connection or the start of a weekend break
- Both cities reward exploration – consider a night in each
- Use Zagreb as a jumping-off point for Croatia’s coast or Budapest
This train trip is one of Europe’s more straightforward cross-border hops. Two wonderful capitals, 117 km apart, connected by a comfortable 2-hour-something journey start to finish. Whether you’re breaking up a longer Balkans adventure or simply want to visit two distinct cities in one trip, the Ljubljana to Zagreb run delivers. Grab your ticket, settle into your seat, and watch the Sava valley roll past your window.
Häufig gestellte Fragen
How long does the Ljubljana to Zagreb train take?
Direct trains take approximately 2 hours 9 minutes to 2 hours 40 minutes, covering the 117 km route between Slovenia's and Croatia's capitals. Regional services with more stops can stretch to 3 hours.
How much does a Ljubljana to Zagreb train ticket cost?
Standard second-class advance tickets typically cost between €9 and €20 one way. Prices are relatively stable and don't fluctuate as dramatically as high-speed routes in Western Europe.
How many trains run from Ljubljana to Zagreb per day?
There are typically 2–4 direct trains per day, depending on the season and day of the week. The first train usually departs Ljubljana around 06:50, and the last around 16:45–17:00.
Do I need to book a seat reservation on the Ljubljana to Zagreb train?
Seat reservations are not normally required on Ljubljana–Zagreb trains — you can simply board and find a free seat. An optional reservation for €2–5 is available on some InterCity or EuroCity services if you want a guaranteed spot.
How does the train compare to the bus from Ljubljana to Zagreb?
Buses are also widely available, with 18+ daily departures and journey times of roughly 2–2.5 hours without traffic. The train offers a more comfortable, predictable journey and drops you at city-centre stations in both capitals.