The average train between Milan and Horw takes 4h 8m and the fastest train takes 3h 13m. The train service runs several times per day from Milan to Horw. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 3 hours between Milan and Horw. The earliest departure is at 6:43 AM in the morning, and the last departure from Milan is at 10:43 PM which arrives into Horw at 7:56 AM. All services require a transfer at Luzern and take an average of 4h 8m. The schedules shown below are for the next available departures.


3h 20m • 2 changes

3h 20m • 2 changes

4h 20m • 2 changes

3h 20m • 2 changes

3h 20m • 2 changes

3h 20m • 2 changes

4h 20m • 2 changes

3h 13m • 2 changes

3h 20m • 2 changes

3h 20m • 2 changes

4h 20m • 2 changes

3h 13m • 2 changes

3h 20m • 2 changes

3h 20m • 2 changes

4h 20m • 2 changes

3h 13m • 2 changes

3h 20m • 2 changes

3h 20m • 2 changes

4h 20m • 2 changes

3h 13m • 2 changes

3h 20m • 2 changes

3h 20m • 2 changes

4h 20m • 2 changes

3h 13m • 2 changes

3h 20m • 2 changes

3h 20m • 2 changes

4h 20m • 2 changes

3h 20m • 2 changesWant to know about travelling from Milan to Horw? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Milan to Horw. However, there are services departing from Milano Centrale station and arriving at Luzern station via Luzern station. The journey, including transfers, takes approximately 4h 8m.
Milan to Horw train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
Milan to Horw train services, operated by Trenitalia EuroCity, arrive at Luzern station.
Book your Milan to Horw train tickets online with Omio.
The distance between Milan and Horw is 185.6 km. The road distance is 239 km.
Trenitalia EuroCity operates a train from Milano Centrale to Luzern once daily. Tickets cost CHF 50–95 and the journey takes 3h 31m.