The average train between Varzo and Milan takes 3h 17m and the fastest train takes 2h 48m. The train service runs several times per day from Varzo to Milan. 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 3 times a day between Varzo and Milan. The earliest departure is at 12:40 AM at night, and the last departure from Varzo is at 7:40 PM which arrives into Milan at 10:31 PM. All services require a transfer at Domodossola and take an average of 3h 17m. The schedules shown below are for the next available departures.


2h 59m • 2 changes


2h 59m • 2 changes


2h 51m • 2 changes


2h 48m • 2 changes


5h 59m • 2 changes


2h 59m • 2 changes


2h 59m • 2 changes


2h 59m • 2 changes


5h 59m • 2 changes


2h 59m • 2 changes


2h 59m • 2 changes


2h 51m • 2 changes
Want to know about travelling from Varzo to Milan? 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 Varzo to Milan. However, there are services departing from Varzo station and arriving at Milan station via Rho Fiera Milano. The journey, including transfers, takes approximately 3h 17m.
Varzo to Milan train services, operated by BLS AG, depart from Domodossola station.
Varzo to Milan train services, operated by BLS AG, arrive at Rho Fiera Milano station.
The distance between Varzo and Milan is 109.9 km. The road distance is 132 km.
Trenord operates a train from Domodossola to Rho Fiera Milano every 2 hours. Tickets cost €8–10 and the journey takes 1h 24m. Trenitalia also services this route every 4 hours.