There are 5 ways to get from Sankt Gallen to Milan by bus, train, 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.
Bus
best- Take the bus from St. Gallen Lagerstrasse to Zurich Central Bus Station Sihlquaibus : Lyon - Prague Central Bus Station / ...
- Take the bus from ZÜRICH, Carparkplatz am Sihlquai to Milano - Famagostabus
4h 22m€65–93Bus, train
cheapest- Take the bus from St. Gallen to Chiassobus
- Take the train from Chiasso to Milano Centraletrain Re80 / ...
6h 59m€25–27Train
- Take the train from St. Gallen to Arth-Goldautrain Vae
- Take the train from Arth-Goldau to Luganotrain Ec / ...
- Take the train from Lugano to Milano Centraletrain
5h 9m€69–153Drive 308.3 km
- Drive from Sankt Gallen to Milancar 308.3 km
3h 43m€55–80Train, 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 Milano Porta Garibalditrain
3h 46m€82–233
Sankt Gallen to Milan by train
Comparing Your Travel Options
The cheapest way to get from Sankt Gallen to Milan is to bus and train which costs €24 - €27 and takes 6h 59m.
The fastest way to get from Sankt Gallen to Milan is to drive which takes 3h 43m and costs €55 - €80.
No, there is no direct bus from Sankt Gallen to Milan. However, there are services departing from St. Gallen Lagerstrasse and arriving at Milano - Famagosta via ZÜRICH, Carparkplatz am Sihlquai. The journey, including transfers, takes approximately 4h 22m.
No, there is no direct train from Sankt Gallen to Milan. However, there are services departing from St. Gallen and arriving at Milano Centrale via Arth-Goldau and Lugano. The journey, including transfers, takes approximately 5h 9m.
The distance between Sankt Gallen and Milan is 401 km. The road distance is 308.3 km.
The best way to get from Sankt Gallen to Milan without a car is to bus which takes 4h 22m and costs €65 - €95.
It takes approximately 4h 22m to get from Sankt Gallen to Milan, including transfers.
Sankt Gallen to Milan bus services, operated by RegioJet, depart from St. Gallen Lagerstrasse station.
Sankt Gallen to Milan train services, operated by Schweizerische Südostbahn AG, depart from St. Gallen station.
The best way to get from Sankt Gallen to Milan is to bus which takes 4h 22m and costs €65 - €95. Alternatively, you can train, which costs €65 - €160 and takes 5h 9m.
What companies run services between Sankt Gallen, Switzerland and Milan, Italy?
You can take a bus from St. Gallen Lagerstrasse to Milano - Famagosta via ZÜRICH, Carparkplatz am Sihlquai in around 4h 22m. Alternatively, you can take a train from St. Gallen to Milano Centrale via Arth-Goldau and Lugano in around 5h 9m.
- Website
- swiss.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- €70–320
- Phone
- +41 58 580 70 70
- Website
- Schweizerische Südostbahn AG
Train from St. Gallen to Arth-Goldau
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- €30–50
- Schedules at
- Schweizerische Südostbahn AG
- Phone
- +420 222 222 221
- [email protected]
- Website
- RegioJet
Bus from St. Gallen Lagerstrasse to Zurich Central Bus Station Sihlquai
- Ave. Duration
- 1h
- Frequency
- 4 times a week
- Estimated price
- €5–8
- Website
- RegioJet
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
Italy Travel Guides
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Italian Lakes: Getting around by train
Read the travel guide
Booking & Getting There
Sankt Gallen to Milan bus services, operated by RegioJet, arrive at Zurich Central Bus Station Sihlquai.
Sankt Gallen to Milan train services, operated by Schweizerische Südostbahn AG, arrive at Arth-Goldau station.
Yes, the driving distance between Sankt Gallen to Milan is 308 km. It takes approximately 3h 43m to drive from Sankt Gallen to Milan.
Book your Sankt Gallen to Milan train tickets online with Omio.
Book your Sankt Gallen to Milan bus tickets online with Omio.
There are 13982+ hotels available in Milan.






