There are 6 ways to get from Geneva to Lake Maggiore by train, bus, car, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train via Domodossola
best- Take the train from Genève to Domodossolatrain Ec
4h 46m€78–115Bus
cheapest- Take the bus from Geneva to Milanbus FlixBus N1524
- Take the bus from Aeroporto Malpensa - Terminal 1 to Stresa - Imbarcaderobus 35
7h 25m€42–55Drive 287.2 km
- Drive from Geneva to Stresacar 287.2 km
3h 45m€52–75Fly to Zurich Airport, train
- Fly from Geneva International Airport (GVA) to Zurich Airport (ZRH)plane GVA - ZRH
- Take the train from Zürich HB to Bellinzonatrain
3h 37m€166–416Train
- Take the train from Genève to Locarnotrain Ic
5h 3m€120–190Fly to Milan Linate Airport, train
- Fly from Geneva International Airport (GVA) to Milan Linate Airport (LIN)plane GVA - LIN
- Take the train from Milano Cadorna to Laveno Mombello Lagotrain
3h 32m€154–311
Geneva to Lake Maggiore by train and bus
Comparing Your Travel Options
The cheapest way to get from Geneva to Lake Maggiore is to bus which costs €40 - €60 and takes 7h 25m.
The fastest way to get from Geneva to Lake Maggiore is to fly and train which takes 3h 32m and costs €150 - €320.
No, there is no direct bus from Geneva to Lake Maggiore. However, there are services departing from Geneva and arriving at Stresa - Imbarcadero via Aeroporto Malpensa - Terminal 1. The journey, including transfers, takes approximately 7h 25m.
Yes, there is a direct train departing from Genève and arriving at Locarno. Services depart once a week, and operate Saturday. The journey takes approximately 5h 3m.
The distance between Geneva and Lake Maggiore is 280 km. The road distance is 287.2 km.
The best way to get from Geneva to Lake Maggiore without a car is to train via Domodossola which takes 4h 46m and costs €75 - €120.
It takes approximately 4h 46m to get from Geneva to Lake Maggiore, including transfers.
Geneva to Lake Maggiore bus services, operated by FlixBus, depart from Geneva station.
Geneva to Lake Maggiore train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Genève station.
The best way to get from Geneva to Lake Maggiore is to train via Domodossola which takes 4h 46m and costs €75 - €120. Alternatively, you can bus, which costs €40 - €60 and takes 7h 25m.
What companies run services between Geneva, Switzerland and Lake Maggiore, Italy?
Swiss Federal Railways (SBB CFF FFS) operates a train from Genève to Domodossola 4 times a day. Tickets cost €70–110 and the journey takes 2h 43m. Alternatively, you can take a bus from Geneva to Stresa - Imbarcadero via Milan and Aeroporto Malpensa - Terminal 1 in around 7h 25m.
- Website
- swiss.com
Flights from Geneva International Airport to Zurich Airport
- Ave. Duration
- 56 min
- When
- Every day
- Estimated price
- €130–380
- Website
- easyjet.com
Flights from Geneva International Airport to Milan Linate Airport
- Ave. Duration
- 1h
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €120–290
Train from Genève to Domodossola
- Ave. Duration
- 2h 43m
- Frequency
- 4 times a day
- Estimated price
- €70–110
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Zürich HB to Bellinzona
- Ave. Duration
- 1h 39m
- Frequency
- Hourly
- Estimated price
- €45–70
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Genève to Locarno
- Ave. Duration
- 5h 3m
- Frequency
- Once a week
- Estimated price
- €120–190
- Website
- Swiss Federal Railways (SBB CFF FFS)
- 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–70
- Schedules at
- Schweizerische Südostbahn AG
- 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
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Geneva to Milan
- Ave. Duration
- 5h 15m
- Frequency
- Once daily
- Estimated price
- €23–40
- Website
- Flixbus
- Phone
- +39 0322 863117
- [email protected]
- Website
- https://www.safduemila.com/
Bus from Aeroporto Malpensa - Terminal 1 to Stresa - Imbarcadero
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- €18–20
- Website
- https://www.safduemila.com/
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
Want to know more about Flixbus?
Read the travel guide
Booking & Getting There
Geneva to Lake Maggiore bus services, operated by FlixBus, arrive at Milan station.
Geneva to Lake Maggiore train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Locarno station.
Yes, the driving distance between Geneva to Lake Maggiore is 287 km. It takes approximately 3h 45m to drive from Geneva to Lake Maggiore.
Book your Geneva to Lake Maggiore train tickets online with Omio.
There are 5762+ hotels available in Lake Maggiore.























