The average train between Germany and Milan takes 15h 39m and the fastest train takes 12h 53m. The train service runs several times per day from Germany 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 Germany and Milan. The earliest departure is at 4:23 AM at night, and the last departure from Germany is at 11:20 PM which arrives into Milan at 1:17 PM. All services require a transfer at Berlin Hbf and take an average of 15h 39m. The schedules shown below are for the next available departures.




12h 53m • 4 changes




12h 56m • 4 changes




12h 56m • 4 changes
Arrives next day




18h 56m • 4 changes




12h 53m • 4 changes




12h 56m • 4 changes




12h 56m • 4 changes
Arrives next day




18h 56m • 4 changes




12h 53m • 4 changes




12h 56m • 4 changes




12h 56m • 4 changes
Arrives next day




18h 56m • 4 changes




12h 56m • 4 changes




12h 56m • 4 changes
Arrives next day




18h 56m • 4 changes
Arrives next day




16h 3m • 4 changes




13h 1m • 4 changes




12h 56m • 4 changes
Arrives next day




18h 56m • 4 changes
Arrives next day




18h 56m • 4 changes
Want to know about travelling from Germany 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 Germany to Milan. However, there are services departing from Germany station and arriving at Milan station via Frankfurt. The journey, including transfers, takes approximately 15h 39m.
Germany to Milan train services, operated by S-Bahn Berlin, depart from Berlin Hbf station.
Germany to Milan train services, operated by S-Bahn Berlin, arrive at Milano Centrale station.
Book your Germany to Milan train tickets online with S-Bahn Berlin, Deutsche Bahn Intercity (DB IC) and 2 other operators.
The distance between Germany and Milan is 640.5 km. The road distance is 1,173 km.
You can take a train from S+U Alexanderplatz Bhf to Milano Centrale via Berlin Hbf, Frankfurt, Basel SBB, and Lugano in around 14h 8m.