The average train between Cologne and Milan takes 2h 16m and the fastest train takes 1h 49m. There is a train service every few hours from Cologne 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 hourly between Cologne and Milan. The earliest departure is at 6:44 AM in the morning, and the last departure from Cologne is at 10:40 PM which arrives into Milan at 6:33 AM. All services require a transfer at Rovato and take an average of 2h 16m. The schedules shown below are for the next available departures.


1h 49m • 2 changes


1h 53m • 2 changes


2h 4m • 2 changes


1h 53m • 2 changes


2h 19m • 2 changes


1h 53m • 2 changes


2h 4m • 2 changes


1h 53m • 2 changes


2h 19m • 2 changes


1h 53m • 2 changes


1h 53m • 2 changes


1h 53m • 2 changes
Want to know about travelling from Cologne 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 Cologne to Milan. However, there are services departing from Cologne station and arriving at Milan station via Pioltello Limito. The journey, including transfers, takes approximately 2h 16m.
Cologne to Milan train services, operated by Trenord, depart from Rovato station.
Cologne to Milan train services, operated by Trenord, arrive at Milano Porta Garibaldi station.
Book your Cologne to Milan train tickets online with Trenord.
The distance between Cologne and Milan is 60 km. The road distance is 73 km.
You can take a train from Cologne to Milano Porta Garibaldi via Rovato and Pioltello Limito in around 1h 44m.