Travel Information
Compare train and coach for Zagreb to Ljubljana
Omio recommends booking the coach as it is the most popular option from Zagreb to Ljubljana among Omio's users. If you are prioritising price take the coach with prices starting from £10. For those with little time consider booking a coach which can get you there in 2h 13m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.0 - 0.1kg. The ticket price range depends on the travel mode: a coach costs an average of £10, and a train costs an average of £23.
Distance: 117 km
Compare bus with
Most popular Coach | Train |
|---|---|
£13 Average Price Cheapest | £25 Average Price |
2h 43m Average total duration Fastest 2h 13m Onboard + 30m Additional time* | 2h 44m Average total duration 2h 14m Onboard + 30m Additional time* |
0.1 - 0.3kg CO2 emissions | 0.0 - 0.1kg CO2 emissions Lowest |
![]() Most popular bus company | ![]() Most popular train company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Travel optionsfrom Zagreb to Ljubljana
How to get to Ljubljana from Zagreb by train, bus, flight or ferry.
Our recommendation
The best way to travel from Zagreb to Ljubljana is by taking a coach because it’s the best combination of price and speed.
11:301h45Zagreb, Bus Station13:15Ljubljana, Avtobusna Postaja£171One-way0 changes
Cheapest
FlixBus20:452h35Zagreb, Bus Station23:20Ljubljana, Avtobusna Postaja£141One-way0 changes
Fastest
14:201h40Zagreb, Bus Station16:00Ljubljana, Avtobusna Postaja£171One-way0 changes
Other options
EC 2148:402h23Zagreb Main Station11:03Ljubljana station£291One-way0 changes
R 770010:342h33Zagreb Main Station13:07Ljubljana station£291One-way0 changes
FlixBus7:302h10Zagreb, Bus Station9:40Ljubljana, Avtobusna Postaja£191One-way0 changes
FlixBus17:102h15Zagreb, Bus Station19:25Ljubljana, Avtobusna Postaja£171One-way0 changes
FlixBus16:402h25Zagreb, Bus Station19:05Ljubljana, Avtobusna Postaja£171One-way0 changes
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, coaches, flights and ferries
Compare train and coach prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
13 Apr
14 Apr
15 Apr
16 Apr
17 Apr
18 Apr
19 Apr
20 Apr
21 Apr
22 Apr
23 Apr
24 Apr
25 Apr
26 Apr
27 Apr
28 Apr
29 Apr
30 Apr
01 May
02 May
03 May
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Zagreb to Ljubljana
Travel to Ljubljana easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Zagreb to Ljubljana.

This is compared to other travel options from Zagreb to Ljubljana:
A coach is £13 less than a train for this route with tickets for a train from Zagreb to Ljubljana costing on average £23.
Other travel options to Ljubljana take longer:
Train takes on average 2h 19m.
- Around 67 coaches per day.
- Around 2 trains per day.
However, we recommend checking specific travel dates for your route between Zagreb and Ljubljana as scheduled services by train and coach can vary by season or day of the week.
- Trains mostly depart from Zagreb Main Station and arrive in Ljubljana station.
- Coaches mostly depart from Zagreb, Bus Station and arrive in Ljubljana, Avtobusna Postaja.
- Travel with FlixBus, BlaBlaCar Bus, GoOpti, Nomago, Union Ivkoni International, Itabus, Infobus to go to Ljubljana by coach.
- Travel with ÖBB, ÖBB | Euro City (EC), ÖBB | Regionalzug, Croatian Railways (HŽPP) to go to Ljubljana by train.
- 67 direct coaches per day with FlixBus, BlaBlaCar Bus, GoOpti, Nomago, Union Ivkoni International, Itabus, Infobus.
- 2 direct trains per day with ÖBB, ÖBB | Euro City (EC), ÖBB | Regionalzug, Croatian Railways (HŽPP).
Travelling from Zagreb to Ljubljana: related information
Here are some other resources that might have the information you need

