There are 6 ways to get from Milan to Altstätten by train (Trenitalia), bus, car, train, 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 Mels
best- Take the train from Milano Centrale to Zuerich Hbtrain Ec
- Take the train from Zuerich Hb to Sarganstrain Rjx
- Take the train from Sargans to Altstätten SGtrain
5h 36mCHF 64–236Bus via Bregenz
cheapest- Take the bus from Milano, Autostazione Lampugnano to Bregenz bus stationbus N77
5h 52mCHF 32–61Drive 285.5 km
- Drive from Milan to Altstättencar 285.5 km
3h 15mCHF 47–68Train, fly
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Zurich Airport (ZRH)plane MXP - ZRH
- Take the train from Zürich Flughafen to Altstätten SGtrain
5h 22mCHF 104–295Train
- Take the train from Milano Centrale to Arth-Goldautrain Ec
- Take the train from Arth-Goldau to Wattwiltrain Vae
- Take the train from Wattwil to Altstätten SGtrain S4
6h 14mCHF 78–142Bus
- Take the bus from Milan Lampugnano to St. Gallen Lagerstrassebus : Milan Lampugnano Bus Station - Prague Central Bus Station / ...
8h 16mCHF 36–87
Milan to Altstätten by train
Questions & Answers
The cheapest way to get from Milan to Altstätten is to bus via Bregenz which costs SFr 30 - SFr 65 and takes 5h 52m.
The fastest way to get from Milan to Altstätten is to drive which takes 3h 15m and costs SFr 45 - SFr 70.
No, there is no direct bus from Milan to Altstätten. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Altstätten SG, Rathaus via St. Margrethen SG, Bahnhof and Heerbrugg, Bahnhof. The journey, including transfers, takes approximately 5h 52m.
No, there is no direct train from Milan to Altstätten. However, there are services departing from Milano Centrale and arriving at Altstätten SG via Zuerich Hb and Sargans. The journey, including transfers, takes approximately 5h 36m.
The distance between Milan and Altstätten is 378 km. The road distance is 285.5 km.
The best way to get from Milan to Altstätten without a car is to train via Mels which takes 5h 36m and costs SFr 60 - SFr 240.
It takes approximately 5h 36m to get from Milan to Altstätten, including transfers.
Milan to Altstätten bus services, operated by FlixBus, depart from Milano, Autostazione Lampugnano station.
Milan to Altstätten train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Altstätten is to train via Mels which takes 5h 36m and costs SFr 60 - SFr 240. Alternatively, you can bus via Bregenz, which costs SFr 30 - SFr 65 and takes 5h 52m.
What companies run services between Milan, Italy and Altstätten, Switzerland?
You can take a train from Milano Centrale to Altstätten SG via Zuerich Hb and Sargans in around 5h 36m. Alternatively, FlixBus operates a bus from Milano, Autostazione Lampugnano to Bregenz bus station once daily. Tickets cost CHF 24–40 and the journey takes 4h 30m.
- Website
- swiss.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 58 min
- When
- Every day
- Estimated price
- CHF 65–310
- Website
- ethiopianairlines.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- CHF 90–150
- Phone
- +39 06 68475475
- [email protected]
- Website
- trenitalia.com
Train from Milano Centrale to Zuerich Hb
- Ave. Duration
- 3h 17m
- Frequency
- Hourly
- Estimated price
- CHF 50–100
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 70–100
- 2nd Class
- CHF 50–70
Train from Milano Centrale to Arth-Goldau
- Ave. Duration
- 2h 32m
- Frequency
- Hourly
- Estimated price
- CHF 45–90
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 60–90
- 2nd Class
- CHF 45–60
- Phone
- +43 (0)5 1717
- Website
- oebb.at
Train from Zuerich Hb to Sargans
- Ave. Duration
- 56 min
- Frequency
- Every 2 hours
- Estimated price
- CHF 17–26
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/railjet
- Website
- https://shop.oebbtickets.at/en/ticket
- *
- CHF 17–26
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zuerich Hb to Sargans
- Ave. Duration
- 56 min
- Frequency
- Twice daily
- Estimated price
- CHF 30–95
- Website
- https://www.sbb.ch/en
Train from Sargans to Altstätten SG
- Ave. Duration
- 25 min
- Frequency
- Hourly
- Estimated price
- CHF 14–45
- Website
- https://www.sbb.ch/en
Train from Zürich Flughafen to Altstätten SG
- Ave. Duration
- 1h 36m
- Frequency
- Every 2 hours
- Estimated price
- CHF 35–130
- Website
- https://www.sbb.ch/en
- Phone
- +421 24 48 58 188
- [email protected]
- Website
- zssk.sk
Train from Zuerich Hb to Sargans
- Ave. Duration
- 56 min
- Frequency
- Once daily
- Estimated price
- CHF 4–8
- Website
- https://www.zssk.sk/en/
- Phone
- +41 58 580 70 70
- Website
- sob.ch
Train from Sargans to Altstätten SG
- Ave. Duration
- 33 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 17–26
- Schedules at
- sob.ch
Train from Arth-Goldau to Wattwil
- Ave. Duration
- 1h 11m
- Frequency
- Hourly
- Estimated price
- CHF 23–35
- Schedules at
- sob.ch
Train from Wattwil to Altstätten SG
- Ave. Duration
- 1h 21m
- Frequency
- Hourly
- Estimated price
- CHF 24–40
- Schedules at
- sob.ch
- Phone
- +41 71 554 00 00
- Website
- thurbo.ch
Train from Sargans to Altstätten SG
- Ave. Duration
- 25 min
- Frequency
- Twice daily
- Estimated price
- CHF 6–14
- Schedules at
- thurbo.ch
- 2nd Class Ticket
- CHF 6–9
- 1st Class Ticket
- CHF 11–14
Train from Wattwil to Altstätten SG
- Ave. Duration
- 1h 23m
- Frequency
- Hourly
- Estimated price
- CHF 9–19
- Schedules at
- thurbo.ch
- 2nd Class Ticket
- CHF 9–12
- 1st Class Ticket
- CHF 15–19
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4–5
- Website
- https://www.trenord.it/en/
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Milano, Autostazione Lampugnano to Bregenz bus station
- Ave. Duration
- 4h 30m
- Frequency
- Once daily
- Estimated price
- CHF 24–40
- Website
- https://www.flixbus.co.uk
- Phone
- +420 222 222 221
- [email protected]
- Website
- regiojet.com
Bus from Milan Lampugnano to St. Gallen Lagerstrasse
- Ave. Duration
- 6h 10m
- Frequency
- Twice a week
- Estimated price
- CHF 28–40
- Website
- https://regiojet.com/
Want to know more about travelling around Switzerland
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
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
Italy Travel Guides
Read the travel guide
More Questions & Answers
Milan to Altstätten bus services, operated by FlixBus, arrive at Bregenz bus station.
Milan to Altstätten train services, operated by Trenitalia EuroCity, arrive at Zuerich Hb station.
Yes, the driving distance between Milan to Altstätten is 285 km. It takes approximately 3h 15m to drive from Milan to Altstätten.
Book your Milan to Altstätten train tickets online with Omio.
There are 1769+ hotels available in Altstätten.






































