There are 4 ways to get from Visp to Milan by train (Trenitalia), bus, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Eggerberg to Domodossolatrain Re1
- Take the train from Domodossola to Milano P.Garibalditrain Re
4h 6m€129–159Train via Brig (Trenitalia)
cheapest- Take the train from Domodossola to Milano P.Garibalditrain Re
4h 51m€23–33Bus
- Take the bus from Domodossola to Milano Centralebus Re4
4h 36mDrive 196.2 km
- Drive from Visp to Milancar 196.2 km
2h 27m€36–51
Comparing Your Travel Options
The cheapest way to get from Visp to Milan is to train via Brig which costs €23 - €35 and takes 4h 51m.
The fastest way to get from Visp to Milan is to drive which takes 2h 27m and costs €35 - €55.
No, there is no direct bus from Visp to Milan. However, there are services departing from Visp, Bahnhof Süd and arriving at Milano Centrale via Domodossola. The journey, including transfers, takes approximately 4h 36m.
No, there is no direct train from Visp to Milan. However, there are services departing from Eggerberg and arriving at Milano P.Garibaldi via Domodossola. The journey, including transfers, takes approximately 4h 6m.
The distance between Visp and Milan is 171 km. The road distance is 196.2 km.
The best way to get from Visp to Milan without a car is to train which takes 4h 6m and costs €120 - €160.
It takes approximately 4h 6m to get from Visp to Milan, including transfers.
Visp to Milan bus services, operated by Trenord, depart from Domodossola station.
Visp to Milan train services, operated by BLS AG, depart from Eggerberg station.
The best way to get from Visp to Milan is to train which takes 4h 6m and costs €120 - €160. Alternatively, you can bus, which costs and takes 4h 36m.
What companies run services between Visp, Switzerland and Milan, Italy?
You can take a vehicle from Visp to Milano P.Garibaldi via Eggerberg and Domodossola in around 4h 6m. Alternatively, Trenord operates a bus from Domodossola to Milano Centrale every 2 hours, and the journey takes 1h 40m.
- Phone
- +41 58 327 32 71
- Website
- BLS AG
Train from Eggerberg to Domodossola
- Ave. Duration
- 46 min
- Frequency
- Every 3 hours
- Estimated price
- €9–13
- Website
- BLS AG
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Domodossola to Milano P.Garibaldi
- Ave. Duration
- 2h 14m
- Frequency
- Every 2 hours
- Estimated price
- €14–20
- Website
- Trenitalia
Train from Domodossola to Milano P.Garibaldi
- Ave. Duration
- 2h 14m
- Frequency
- Every 2 hours
- Estimated price
- €14–20
- Website
- Trenitalia
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Bus from Domodossola to Milano Centrale
- Ave. Duration
- 1h 40m
- Frequency
- Every 2 hours
- Website
- Trenord
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
Booking & Getting There
Visp to Milan bus services, operated by Trenord, arrive at Milano Centrale station.
Visp to Milan train services, operated by BLS AG, arrive at Domodossola station.
Yes, the driving distance between Visp to Milan is 196 km. It takes approximately 2h 27m to drive from Visp to Milan.
Book your Visp to Milan train tickets online with Omio.
There are 13847+ hotels available in Milan.









