There are 12 ways to get from Zagreb to Lake Maggiore by bus, train, train (Trenitalia), car, plane, or shuttle
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus, train via Venice
best- Take the bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postajabus
- Take the bus from Novo Mesto, Avtobusna postaja to Stazione Mestrebus
- Take the train from Venezia Mestre to Milano Centraletrain Fr
- Take the train from Milano Centrale to Locarnotrain
10h 45m€452–929Fly Zagreb Franjo Tuđman Airport to Basel, train
cheapest- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Basel (BSL)plane ZAG - BSL
- Take the train from Basel SBB to Bellinzonatrain
8h 31m€60–362Train
- Take the train from Zagreb Glavni Kol. to Ljubljanatrain 318 / ...
- Take the train from Ljubljana to Villach Hbftrain 38 / ...
- Take the train from Villach Hbf to Venezia Mestretrain Rjx
- Take the train from Venezia Mestre to Milano Centraletrain Fr
- Take the train from Milano Centrale to Locarnotrain
14h 13m€124–244Drive 686.6 km
- Drive from Zagreb to Stresacar 686.6 km
6h 52m€124–180Fly Zagreb Franjo Tuđman Airport to Milan Linate Airport, train
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Milan Linate Airport (LIN)plane ZAG - LIN
- Take the train from Milano Cadorna to Laveno Mombello Lagotrain
9h 12m€108–355Bus
- Take the bus from Zagreb to Bellinzonabus
11h 26m€133–136Bus, train
- Take the bus from Zagreb to Milano, Autostazione Lampugnanobus N402 / ...
- Take the train from Milano Cadorna to Laveno Mombello Lagotrain Re1 / ...
12h 16m€63–94Bus, train via Trieste
- Take the bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postajabus
- Take the bus from Novo Mesto, Avtobusna postaja to Trieste Centralebus
- Take the train from Trieste Centrale to Venezia S. Luciatrain Re
- Take the train from Venezia S. Lucia to Bellinzonatrain Ec
17h 34m€336–664Fly Zagreb Franjo Tuđman Airport to Milano Malpensa Airport, train
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Milano Malpensa Airport (MXP)plane ZAG - MXP
- Take the train from Malpensa Aeroporto T1 to Varesetrain
8h€67–237Fly Zagreb Franjo Tuđman Airport to Zurich Airport, train
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Zurich Airport (ZRH)plane ZAG - ZRH
- Take the train from Zürich HB to Bellinzonatrain
6h 47m€144–335Fly Zagreb Franjo Tuđman Airport to Il Caravaggio International Airport, bus, train
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Il Caravaggio International Airport (BGY)plane ZAG - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
- Take the train from Milano Centrale to Stresatrain
6h 48m€61–335Shuttle, shuttle to Trieste – Friuli Venezia Giulia Airport, fly to Milan Linate Airport, train
- Take a shuttle bus from Zagreb, Autobusni Kolodvor to Ljubljana, Avtobusna Postaja
- Take a shuttle bus from Ljubljana to Trieste Airport
- Fly from Trieste – Friuli Venezia Giulia Airport (TRS) to Milan Linate Airport (LIN)plane TRS - LIN
- Take the train from Milano Cadorna to Laveno Mombello Lagotrain
7h 55m€269–723
Zagreb to Lake Maggiore by train
Comparing Your Travel Options
The cheapest way to get from Zagreb to Lake Maggiore is to bus and train which costs €60 - €95 and takes 12h 16m.
The fastest way to get from Zagreb to Lake Maggiore is to fly and train which takes 6h 47m and costs €140 - €340.
No, there is no direct bus from Zagreb to Lake Maggiore. However, there are services departing from Zagreb and arriving at Locarno, Piazza Stazione via Bellinzona, Stazione. The journey, including transfers, takes approximately 11h 26m.
No, there is no direct train from Zagreb to Lake Maggiore. However, there are services departing from Zagreb Glavni Kol. and arriving at Locarno via Ljubljana, Villach Hbf, Venezia Mestre and Milano Centrale. The journey, including transfers, takes approximately 14h 13m.
The distance between Zagreb and Lake Maggiore is 734 km. The road distance is 686.6 km.
The best way to get from Zagreb to Lake Maggiore without a car is to bus and train via Venice which takes 10h 45m and costs €450 - €950.
It takes approximately 10h 45m to get from Zagreb to Lake Maggiore, including transfers.
Zagreb to Lake Maggiore bus services, operated by Zelic Reisen, depart from Zagreb station.
Zagreb to Lake Maggiore train services, operated by HŽ Putnički prijevoz (HŽPP), depart from Zagreb Glavni Kol. station.
The best way to get from Zagreb to Lake Maggiore is to train which takes 14h 13m and costs €120 - €250. Alternatively, you can bus, which costs €132 - €136 and takes 11h 26m.
What companies run services between Zagreb, Croatia and Lake Maggiore, Italy?
You can take a train from Zagreb Glavni Kol. to Locarno via Ljubljana, Villach Hbf, Venezia Mestre, and Milano Centrale in around 14h 13m. Alternatively, Zelic Reisen operates a bus from Zagreb to Bellinzona 4 times a week. Tickets cost €126 and the journey takes 10h 25m.
- Website
- lufthansa.com
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Munich
- Ave. Duration
- 4h 22m
- When
- Every day
- Estimated price
- €140–550
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 5h 52m
- When
- Every day
- Estimated price
- €100–460
Flights from Zagreb Franjo Tuđman Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- €75–470
Flights from Zagreb Franjo Tuđman Airport to Zurich Airport via Munich
- Ave. Duration
- 3h 5m
- When
- Every day
- Estimated price
- €90–550
Flights from Zagreb Franjo Tuđman Airport to Basel via Munich
- Ave. Duration
- 3h 50m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- €95–310
Flights from Zagreb Franjo Tuđman Airport to Basel via Frankfurt
- Ave. Duration
- 4h
- When
- Monday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- €110–240
- Website
- ryanair.com
Flights from Zagreb Franjo Tuđman Airport to Milano Malpensa Airport via Vienna
- Ave. Duration
- 5h 45m
- When
- Monday, Friday, and Saturday
- Estimated price
- €55–180
Flights from Zagreb Franjo Tuđman Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 15m
- When
- Friday, Monday, Tuesday, Saturday, and Sunday
- Estimated price
- €30–170
Flights from Zagreb Franjo Tuđman Airport to Basel
- Ave. Duration
- 1h 35m
- When
- Monday, Sunday, Thursday, Friday, and Saturday
- Estimated price
- €30–180
- Website
- swiss.com
Flights from Zagreb Franjo Tuđman Airport to Milano Malpensa Airport via Zurich Airport
- Ave. Duration
- 5h 12m
- When
- Every day
- Estimated price
- €75–260
Flights from Zagreb Franjo Tuđman Airport to Zurich Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €75–310
- Website
- austrian.com
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Vienna
- Ave. Duration
- 4h 47m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €80–340
Flights from Zagreb Franjo Tuđman Airport to Zurich Airport via Vienna
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €75–320
- Website
- airdolomiti.it
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Munich
- Ave. Duration
- 4h 25m
- When
- Saturday
- Estimated price
- €160–550
Flights from Zagreb Franjo Tuđman Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 10m
- When
- Monday, Wednesday, and Saturday
- Estimated price
- €140–470
Flights from Zagreb Franjo Tuđman Airport to Zurich Airport via Munich
- Ave. Duration
- 3h 10m
- When
- Saturday
- Estimated price
- €160–550
- Website
- croatiaairlines.com
Flights from Zagreb Franjo Tuđman Airport to Zurich Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €75–310
- Website
- aeroitalia.com
Flights from Trieste – Friuli Venezia Giulia Airport to Milan Linate Airport
- Ave. Duration
- 1h 5m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €55–150
- Website
- eurowings.com
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Stuttgart
- Ave. Duration
- 7h 50m
- When
- Monday and Friday
- Estimated price
- €75–300
- Website
- easyjet.com
Flights from Zagreb Franjo Tuđman Airport to Milano Malpensa Airport via Prague
- Ave. Duration
- 3h 40m
- When
- Friday
- Estimated price
- €50–240
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 16m
- Frequency
- Hourly
- Estimated price
- €35–60
- Website
- Trenitalia Frecce
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 16m
- Frequency
- Hourly
- Estimated price
- €35–60
- Website
- Trenitalia Frecce
- Phone
- +39 06 68475475
- [email protected]
- Website
- Trenitalia Eurocity
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 31m
- Frequency
- 4 times a day
- Estimated price
- €55–110
- Website
- Trenitalia Eurocity
- 1st Class
- €75–110
- 2nd Class
- €55–80
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 31m
- Frequency
- 4 times a day
- Estimated price
- €55–110
- Website
- Trenitalia Eurocity
- 1st Class
- €75–110
- 2nd Class
- €55–80
Train from Venezia S. Lucia to Bellinzona
- Ave. Duration
- 4h 28m
- Frequency
- Twice daily
- Estimated price
- €75–130
- Website
- Trenitalia Eurocity
- 1st Class
- €90–130
- 2nd Class
- €75–110
Train from Milano Centrale to Stresa
- Ave. Duration
- 1h
- Frequency
- 5 times a day
- Estimated price
- €25–70
- Website
- Trenitalia Eurocity
- 1st Class
- €45–70
- 2nd Class
- €25–35
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- €35–60
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- €35–60
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Malpensa Aeroporto T1 to Varese
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €13–21
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Zürich HB to Bellinzona
- Ave. Duration
- 1h 39m
- Frequency
- Hourly
- Estimated price
- €50–80
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Basel SBB to Bellinzona
- Ave. Duration
- 2h 38m
- Frequency
- Every 3 hours
- Estimated price
- €75–120
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +385 60 333 444
- [email protected]
- Website
- HŽ Putnički prijevoz (HŽPP)
Train from Zagreb Glavni Kol. to Ljubljana
- Ave. Duration
- 2h 26m
- Frequency
- Every 2 hours
- Estimated price
- €12
- Website
- HŽ Putnički prijevoz (HŽPP)
Train from Ljubljana to Villach Hbf
- Ave. Duration
- 1h 40m
- Frequency
- 4 times a day
- Estimated price
- €8
- Website
- HŽ Putnički prijevoz (HŽPP)
- Phone
- +386 1 29 13 331
- [email protected]
- Website
- Slovenske železnice (SŽ)
Train from Ljubljana to Villach Hbf
- Ave. Duration
- 1h 40m
- Frequency
- Every 2 hours
- Estimated price
- €8
- Website
- Slovenske železnice (SŽ)
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Milano Cadorna to Laveno Mombello Lago
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Estimated price
- €5–8
- Website
- Trenord
Train from Milano Cadorna to Laveno Mombello Lago
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Estimated price
- €5–8
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Varese
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €4–5
- Website
- Trenord
Train from Milano Cadorna to Laveno Mombello Lago
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Estimated price
- €5–8
- Website
- Trenord
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Trieste Centrale to Venezia S. Lucia
- Ave. Duration
- 3h 31m
- Frequency
- Every 30 minutes
- Estimated price
- €26–35
- Website
- Trenitalia
- Phone
- +41 58 580 70 70
- Website
- Schweizerische Südostbahn AG
Train from Zürich HB to Bellinzona
- Ave. Duration
- 2h 55m
- Frequency
- Every 3 hours
- Estimated price
- €45–75
- Schedules at
- Schweizerische Südostbahn AG
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 56m
- Frequency
- Every 4 hours
- Estimated price
- €65–100
- Schedules at
- Schweizerische Südostbahn AG
- Phone
- +49 (0) 7531 915109
- [email protected]
- Website
- SBB GmbH
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 5m
- Frequency
- Once daily
- Estimated price
- €18–23
- Schedules at
- SBB GmbH
- Phone
- +386 1 320 4530
- [email protected]
- Website
- GoOpti
Bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postaja
- Ave. Duration
- 1h 19m
- Frequency
- On demand
- Estimated price
- €22–160
- Website
- GoOpti
- Shared
- €22
- Private
- €92
Bus from Novo Mesto, Avtobusna postaja to Stazione Mestre
- Ave. Duration
- 3h 45m
- Frequency
- On demand
- Estimated price
- €360–600
- Website
- GoOpti
Bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postaja
- Ave. Duration
- 1h 19m
- Frequency
- On demand
- Estimated price
- €22–160
- Website
- GoOpti
- Shared
- €22
- Private
- €92
Bus from Novo Mesto, Avtobusna postaja to Trieste Centrale
- Ave. Duration
- 5h 53m
- Frequency
- On demand
- Estimated price
- €200–320
- Website
- GoOpti
Shuttle from Zagreb, Autobusni Kolodvor to Ljubljana, Avtobusna Postaja
- Ave. Duration
- 1h 48m
- Frequency
- On demand
- Estimated price
- €170–280
- Website
- GoOpti
Shuttle from Ljubljana to Trieste Airport
- Ave. Duration
- 1h 16m
- Frequency
- On demand
- Estimated price
- €160–260
- Website
- GoOpti
- Private
- €204
- Phone
- +41 79 445 39 68
- [email protected]
- Website
- zelicreisen.ch
Bus from Zagreb to Bellinzona
- Ave. Duration
- 10h 25m
- Frequency
- 4 times a week
- Estimated price
- €126
- Schedules at
- zelicreisen.ch
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Zagreb to Milano, Autostazione Lampugnano
- Ave. Duration
- 9h 50m
- Frequency
- Twice daily
- Estimated price
- €55–85
- Website
- Flixbus
- [email protected]
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–23
- Website
- TERRAVISION
- Phone
- 035.319366
- [email protected]
- Website
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–14
- Schedules at
- orioshuttle.com
- Phone
- +386 40 121 900
- [email protected]
- Website
- slovenija.eu.com
Shuttle from Ljubljana to Trieste Airport
- Ave. Duration
- 1h 30m
- Frequency
- On demand
- Estimated price
- €110–220
- Schedules at
- slovenija.eu.com
- 1 -3 persons
- €170
- 4-8 persons
- €220
- Phone
- +386 070740450
- [email protected]
- Website
- easydrive.si
Shuttle from Ljubljana to Trieste Airport
- Ave. Duration
- 3h
- Frequency
- Twice daily
- Estimated price
- €22
- Schedules at
- easydrive.si
Want to know more about travelling around Italy
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Italian Lakes: Getting around by train
Read the travel guide
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide
Booking & Getting There
Zagreb to Lake Maggiore bus services, operated by Zelic Reisen, arrive at Bellinzona station.
Zagreb to Lake Maggiore train services, operated by HŽ Putnički prijevoz (HŽPP), arrive at Ljubljana station.
Yes, the driving distance between Zagreb to Lake Maggiore is 687 km. It takes approximately 6h 52m to drive from Zagreb to Lake Maggiore.
Book your Zagreb to Lake Maggiore train tickets online with Omio.
There are 5415+ hotels available in Lake Maggiore.















































































