The average train between Oleggio and Milan takes 1h 29m and the fastest train takes 1h 13m. The train service runs several times per day from Oleggio 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 every 4 hours between Oleggio and Milan. The earliest departure is at 7:12 AM in the morning, and the last departure from Oleggio is at 9:32 PM which arrives into Milan at 10:45 PM. All services require a transfer, and take on average 1h 29m. The schedules shown below are for the next available departures.

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 33m • 1 change

1h 13m • 1 change

2h 13m • 1 change

1h 13m • 1 change

1h 13m • 1 change

1h 13m • 1 change

2h 13m • 1 change

1h 13m • 1 change

1h 13m • 1 change
Want to know about travelling from Oleggio 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 Oleggio to Milan. However, there are services departing from Oleggio station and arriving at Milan station via Novara. The journey, including transfers, takes approximately 1h 29m.
Oleggio to Milan train services, operated by Trenitalia, depart from Oleggio station.
Oleggio to Milan train services, operated by Trenitalia, arrive at Milano Centrale station.
Book your Oleggio to Milan train tickets online with Trenitalia.
The distance between Oleggio and Milan is 45.5 km. The road distance is 66 km.
You can take a train from Oleggio to Milano Centrale via Novara in around 1h 21m.