There are 6 ways to get from Sankt Gallen 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 Bellinzona
best- Take the train from St. Gallen to Arth-Goldautrain Vae
- Take the train from Arth-Goldau to Bellinzonatrain Ec / ...
3h 26m€48–186Bus
cheapest- Take the bus from St. Gallen Lagerstrasse to Lugano Via Giacomo and Filippo Cianibus : Milan Lampugnano Bus Station - Prague Central Bus Station / ...
5h 13m€30–76Drive 281.3 km
- Drive from Sankt Gallen to Stresacar 281.3 km
3h 56m€49–71Train, fly
- Take the train from St. Gallen(Ch) to Zuerich Flughafentrain
- Fly from Zurich Airport (ZRH) to Milano Malpensa Airport (MXP)plane ZRH - MXP
- Take the train from Malpensa Aeroporto T1 to Varesetrain
- Take the train from Varese Nord to Laveno Mombello Lagotrain
4h 58m€84–303Train
- Take the train from St. Gallen to Arth-Goldautrain Vae
- Take the train from Arth-Goldau to Locarnotrain Ir46 / ...
4h 56m€88–228Train, bus
- Take the train from St. Gallen to Churtrain Ir13
- Take the bus from Chur, Postautostation to Bellinzona, Stazionebus 171
5h 30m€51–74
Sankt Gallen to Lake Maggiore by train
Questions & Answers
The cheapest way to get from Sankt Gallen to Lake Maggiore is to bus which costs €29 - €80 and takes 5h 13m.
The fastest way to get from Sankt Gallen to Lake Maggiore is to train via Bellinzona which takes 3h 26m and costs €45 - €190.
No, there is no direct bus from Sankt Gallen to Lake Maggiore. However, there are services departing from St. Gallen Lagerstrasse and arriving at Lugano, Stazione via Lugano, Via Ciani/Cornaredo. The journey, including transfers, takes approximately 5h 13m.
No, there is no direct train from Sankt Gallen to Lake Maggiore. However, there are services departing from St. Gallen and arriving at Locarno via Arth-Goldau and Bellinzona. The journey, including transfers, takes approximately 3h 26m.
The distance between Sankt Gallen and Lake Maggiore is 227 km. The road distance is 281.3 km.
The best way to get from Sankt Gallen to Lake Maggiore without a car is to train via Bellinzona which takes 3h 26m and costs €45 - €190.
It takes approximately 3h 26m to get from Sankt Gallen to Lake Maggiore, including transfers.
Sankt Gallen to Lake Maggiore bus services, operated by RegioJet, depart from St. Gallen Lagerstrasse station.
Sankt Gallen to Lake Maggiore train services, operated by Schweizerische Südostbahn AG, depart from St. Gallen station.
The best way to get from Sankt Gallen to Lake Maggiore is to train via Bellinzona which takes 3h 26m and costs €45 - €190. Alternatively, you can bus, which costs €29 - €80 and takes 5h 13m.
What companies run services between Sankt Gallen, Switzerland and Lake Maggiore, Italy?
You can take a train from St. Gallen to Locarno via Arth-Goldau and Bellinzona in around 3h 26m. Alternatively, RegioJet operates a bus from St. Gallen Lagerstrasse to Lugano Via Giacomo and Filippo Ciani 3 times a week. Tickets cost €23–35 and the journey takes 4h 5m.
- Website
- swiss.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- €70–330
- Website
- ethiopianairlines.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €95–160
- Phone
- +41 58 580 70 70
- Website
- sob.ch
Train from St. Gallen to Arth-Goldau
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- €30–50
- Schedules at
- sob.ch
Train from Arth-Goldau to Bellinzona
- Ave. Duration
- 2h 6m
- Frequency
- Hourly
- Estimated price
- €35–55
- Schedules at
- sob.ch
Train from St. Gallen to Arth-Goldau
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- €30–50
- Schedules at
- sob.ch
Train from Arth-Goldau to Locarno
- Ave. Duration
- 2h 33m
- Frequency
- Hourly
- Estimated price
- €50–75
- Schedules at
- sob.ch
Train from St. Gallen to Chur
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- €35–55
- Schedules at
- sob.ch
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Arth-Goldau to Bellinzona
- Ave. Duration
- 54 min
- Frequency
- Hourly
- Estimated price
- €40–130
- Website
- https://www.sbb.ch/en
Train from St. Gallen(Ch) to Zuerich Flughafen
- Ave. Duration
- 48 min
- Frequency
- Every 15 minutes
- Estimated price
- €27–85
- Website
- https://www.sbb.ch/en
Train from Malpensa Aeroporto T1 to Varese
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €14–45
- Website
- https://www.sbb.ch/en
Train from Arth-Goldau to Locarno
- Ave. Duration
- 1h 36m
- Frequency
- Once a week
- Estimated price
- €55–180
- Website
- https://www.sbb.ch/en
- Phone
- +49 (0) 7531 915109
- [email protected]
- Website
- sbb-deutschland.de
Train from Arth-Goldau to Bellinzona
- Ave. Duration
- 54 min
- Frequency
- Once daily
- Estimated price
- €10–13
- Schedules at
- sbb-deutschland.de
Train from St. Gallen(Ch) to Zuerich Flughafen
- Ave. Duration
- 48 min
- Frequency
- Every 3 hours
- Estimated price
- €7–10
- Schedules at
- sbb-deutschland.de
- Phone
- +43 (0)5 1717
- Website
- oebb.at
Train from St. Gallen(Ch) to Zuerich Flughafen
- Ave. Duration
- 50 min
- Frequency
- Every 4 hours
- Estimated price
- €16–25
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/railjet
- Website
- https://shop.oebbtickets.at/en/ticket
- *
- €16–25
- Phone
- +43 (0) 5 1717
- Website
- oebb.at
Train from St. Gallen(Ch) to Zuerich Flughafen
- Ave. Duration
- 50 min
- Frequency
- 3 times a day
- Estimated price
- €16–30
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/eurocity-intercity
- Website
- https://shop.oebbtickets.at/en/ticket
- Phone
- +41 71 554 00 00
- Website
- thurbo.ch
Train from St. Gallen(Ch) to Zuerich Flughafen
- Ave. Duration
- 1h 1m
- Frequency
- 3 times a week
- Estimated price
- €10–21
- Schedules at
- thurbo.ch
- 2nd Class Ticket
- €10–14
- 1st Class Ticket
- €17–21
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Varese
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €4–5
- Website
- https://www.trenord.it/en/
Train from Varese Nord to Laveno Mombello Lago
- Ave. Duration
- 36 min
- Frequency
- Hourly
- Estimated price
- €2–4
- Website
- https://www.trenord.it/en/
- Phone
- +420 222 222 221
- [email protected]
- Website
- regiojet.com
Bus from St. Gallen Lagerstrasse to Lugano Via Giacomo and Filippo Ciani
- Ave. Duration
- 4h 5m
- Frequency
- 3 times a week
- Estimated price
- €23–35
- Website
- https://regiojet.com/
- Phone
- +41 (0)848 818 818
- [email protected]
- Website
- postauto.ch
Bus from Chur, Postautostation to Bellinzona, Stazione
- Ave. Duration
- 2h 12m
- Frequency
- Hourly
- Estimated price
- €10–14
- Website
- https://www.postauto.ch
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
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
More Questions & Answers
Sankt Gallen to Lake Maggiore bus services, operated by RegioJet, arrive at Lugano Via Giacomo and Filippo Ciani station.
Sankt Gallen to Lake Maggiore train services, operated by Schweizerische Südostbahn AG, arrive at Arth-Goldau station.
Yes, the driving distance between Sankt Gallen to Lake Maggiore is 281 km. It takes approximately 3h 56m to drive from Sankt Gallen to Lake Maggiore.
Book your Sankt Gallen to Lake Maggiore train tickets online with Omio.
There are 6138+ hotels available in Lake Maggiore.










































