There are 7 ways to get from Milan to Lucerne by train (Trenitalia), bus, rideshare, train, plane, 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 via Arth-Goldau (Trenitalia)
best- Take the train from Milano Centrale to Arth-Goldautrain Ec
3h 16mCHF 54–114Rideshare
cheapest- Take the rideshare from Milan to Lucerne242.4 km
3h 13mCHF 12–17Bus
- Take the bus from Milan to Luzernbus FlixBus N401 / ...
4h 33mCHF 19–39Train, 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 HB to Luzerntrain
3h 50mCHF 90–236Train (Trenitalia)
- Take the train from Milano Centrale to Luzerntrain Ec
3h 31mCHF 50–95Train via Lugano
- Take the train from Milano Centrale to Luganotrain Re80
- Take the train from Lugano to Luzerntrain Ic21 / ...
3h 54mCHF 61–177Drive 242.4 km
- Drive from Milan to Lucernecar 242.4 km
2h 40mCHF 40–57
Milan to Lucerne by train (Trenitalia)
Questions & Answers
The cheapest way to get from Milan to Lucerne is to rideshare which costs SFr 12 - SFr 17 and takes 3h 13m.
The fastest way to get from Milan to Lucerne is to drive which takes 2h 40m and costs SFr 35 - SFr 60.
No, there is no direct bus from Milan to Lucerne. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Luzern via Milan. The journey, including transfers, takes approximately 4h 33m.
Yes, there is a direct train departing from Milano Centrale and arriving at Luzern. Services depart twice daily, and operate every day. The journey takes approximately 3h 31m.
The distance between Milan and Lucerne is 232 km. The road distance is 242.4 km.
The best way to get from Milan to Lucerne without a car is to train via Arth-Goldau which takes 3h 16m and costs SFr 50 - SFr 120.
It takes approximately 3h 16m to get from Milan to Lucerne, including transfers.
Milan to Lucerne bus services, operated by FlixBus, depart from Milan station.
Milan to Lucerne train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Lucerne is to train via Arth-Goldau which takes 3h 16m and costs SFr 50 - SFr 120. Alternatively, you can bus, which costs SFr 19 - SFr 40 and takes 4h 33m.
What companies run services between Milan, Italy and Lucerne, Switzerland?
Trenitalia EuroCity operates a train from Milano Centrale to Arth-Goldau hourly. Tickets cost CHF 45–90 and the journey takes 2h 32m. Alternatively, FlixBus operates a bus from Milan to Luzern 3 times a day. Tickets cost CHF 18–35 and the journey takes 3h 20m. RegioJet also services this route twice a week.
- 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 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
Train from Milano Centrale to Luzern
- Ave. Duration
- 3h 31m
- Frequency
- Twice daily
- Estimated price
- CHF 50–95
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 65–95
- 2nd Class
- CHF 50–70
- 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/
Train from Milano Centrale to Lugano
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- CHF 5–7
- Website
- https://www.trenord.it/en/
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Luzern
- Ave. Duration
- 41 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 18–60
- Website
- https://www.sbb.ch/en
Train from Lugano to Luzern
- Ave. Duration
- 1h 39m
- Frequency
- Every 3 hours
- Estimated price
- CHF 55–170
- Website
- https://www.sbb.ch/en
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Milan to Luzern
- Ave. Duration
- 3h 20m
- Frequency
- 3 times a day
- Estimated price
- CHF 18–35
- Website
- https://www.flixbus.co.uk
- Phone
- +420 222 222 221
- [email protected]
- Website
- regiojet.com
Bus from Milan to Luzern
- Ave. Duration
- 3h 40m
- Frequency
- Twice a week
- Estimated price
- CHF 17–25
- Website
- https://regiojet.com/
- Phone
- +3 318 576 2228
- Website
- blablacar.com
Rideshare from Milan to Lucerne
- Ave. Duration
- 3h 13m
- Frequency
- Once daily
- Estimated price
- CHF 12–17
- Schedules at
- blablacar.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
Italy Travel Guides
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Milan to Lucerne bus services, operated by FlixBus, arrive at Luzern station.
Milan to Lucerne train services, operated by Trenitalia EuroCity, arrive at Arth-Goldau station.
Yes, the driving distance between Milan to Lucerne is 242 km. It takes approximately 2h 40m to drive from Milan to Lucerne.
Book your Milan to Lucerne train tickets online with Omio.
Book your Milan to Lucerne bus tickets online with Omio.
There are 646+ hotels available in Lucerne.
Check out Blablacar's carpooling service for rideshare options between Milan and Lucerne. A great option if you don't have a driver's licence or want to avoid public transport.

















