There are many trains between Croatia and Slovenia. Most popular among tourists are trains between Zagreb and Ljubljana – tickets are inexpensive and both capitals are perfect destinations for day trip from each other. International trains from Croatia to Austria, Germany and Switzerland also pass through Slovenian territory. Summer overnight trains from Bratislava to Split and direct carriages from Budapest to Rijeka also pass through Slovenia.
In my article I shortly described trains between Croatia and Slovenia. I am unable to keep up-to-date information about cross-border trains, so you need to check out timetable and current status on your own.
Due to engineering works in Slovenia trains between Croatia may be rerouted or replaced by buses on the part of their route.
Last updated: 30.07.2024
Railway border crossings between Croatia and Slovenia:
Savski Marof HŽ – Dobova SŽ
Buzet HŽ – Rakitovec SŽ
Šapjane HŽ – Ilirska Bistrica SŽ
Bubnjarci HŽ – Rosalnice SŽ
Đurmanec HŽ – Sveti Rok ob Sotli SŽ
Macinec HŽ – Središče SŽ
Mursko Središće HŽ – Lendava SŽ
There are plans to reopening border crossing Harmica HŽ – Kumrovec HŽ – Imeno SŽ and reinstate direct trains from Zagreb to Celje.
Trains between Croatia and Slovenia – useful websites
Slovenian Railways – timetable and prices
Croatian Railways – a general overview about travel by train to Slovenia
Train travel in Slovenia – a comprehensive guide
Train travel in Croatia – a comprehensive guide
Day trips from Ljubljana by train
Slovenia by train – a minimum itinerary
Trains between Zagreb to Ljubljana
Trains between Zagreb and Ljubljana run several times a day through the Savski Marof – Dobova border crossing. The journey between the capitals of Croatia and Slovenia takes about two and a half hours. In Slovenia, the train travels along the Sava River for part of the route, offering beautiful views of the river and the surrounding cliffs from the train windows.
Some of the trains continue their journey towards Villach, so you can travel directly from Zagreb to Kranj and Jesenice, where you can change train to Nova Gorica and Bled.
Trains are usually comprised of Croatian open-plan carriages and carriages with compartments.
There are also overnight trains from Zagreb to Zurich and from Zagreb to Munich and Stuttgart. These trains consist Croatian seating carriages with compartments, Croatian couchette cars and Croatian sleeping car. Personally, I don’t like Croatian couchette cars, especially lower bunk. I highly recommend to travel in sleeping car, although supplement is expensive.
Train tickets from Ljubljana to Zagreb are inexpensive and available at international ticket offices in Slovenia in Croatia. There is no need to buy tickets in advance – the prices are fixed.
Trains between Rijeka and Ljubljana
There are direct trains from Rijeka to Ljubljana daily and an additional trains in summer. Journey time between Rijeka and Ljubljana is almost three hours. The most picturesque stretch is between Rijeka and Opatija – you can admire a beautiful panorama of the Croatian coast from the train window for about one minute.
Trains are usually comprised from old but comfortable Slovenian 1st and 2nd class carriages. The carriages are not equipped with air-conditioning and vacuum toilets, so journey during heatwaves may be unbearable. Each compartment has 6 seats.
Train tickets from Ljubljana to Rijeka are also inexpensive and available at international ticket offices in Slovenia in Croatia. There is no need to buy tickets in advance – the prices are fixed.
Trains from Ljubljana to Pula
As for trains between Ljubljana and Pula, the situation changes from year to year and depends on agreements between the governments of Slovenia and Croatia. In 2024, during the summer season, it was possible to travel by train between Ljubljana and Pula with a transfer at Divača station. The one-way trip between Pula and Ljubljana took four and a half hours. Theoretically, it was possible to plan a day trip from Ljubljana, but spending nine hours on the train effectively discouraged tourists.
I am not sure if there are year-round trains between Divača and Buzet stations. The schedule provided on the Slovenian railways’ website is unclear to me.
In the past, there were direct trains from Ljubljana to Pula, but later their operation was limited to the summer season. For some time now, it has only been possible to travel with a transfer.
Tickets from Ljubljana to Pula cost about 19 euro.
Seasonal train from Villa Opicina to Rijeka
In 2024 Slovenian Railways launched seasonal train from Villa Opičina in Italia to Rijeka, Croatia. The train run from 25.04 to 30.09 and thanks to European Union tickets are very cheap. Train stop also at Slovenian railway stations Sežana, Divača Ilirska Bistrica and Pivka. The connection is served by electric multiple unit class SŽ 510 of Slovenian Railways (Stadler Flirt). Trains are equipped with air conditioning and vacuum toilets.
Train station Villa Opičina is located 5 kilometers from the centre of the Trieste and there is a city bus to the centre.
It is very likely that the train will run in the coming years.
Cross-border trains between Croatia and Slovenia
Cross-border trains between Croatia and Slovenia are less popular among tourists.
There are direct trains from Čakovec to Ormož. If you travel from Čakovec to Slovenia, you can continue your journey from Ormož to Ptuj and Maribor. If you travel from Ormož, you can continue your journey to Varaždin. Trains are operated by Slovenian Railways.
The Slovenian town of Lendava is isolated from the rest of the Slovenian railway network but tracks connect the town with Croatian city of Čakovec and there are cross-border trains from Čakovec to Slovenia. Trains from Čakovec to Lendava were were reinstated in December 2023. Two pairs of trains run from Monday to Friday and one pair on Saturdays. Trains are operated by Croatian Railways.
There are cross-border trains from Krapina, Croatia to Hromec, Slovenia through border crossing Đurmanec – Sveti Rok ob Sotli. Passengers from Croatia can continue their journey from Hromec to Rogatec or Celje. Passengers from Slovenia can take a train from Krapina to Zabok.
I have no information about cross-border trains between Bubnjarci and Metlika. Croatian trains from Karlovac end in Bubnjarci, and there are trains from Ljubljana to Metlika and Rosalnica – the last station before the border.
Please, note that is impossible to follow the changes about cross-border trains between both countries and information in this article may be out-to-date in the future.