The average train between Roma Termini and Milano Porta Garibaldi takes 3h 37m and the fastest train takes 3h 14m. There is a train service every few hours from Roma Termini to Milano Porta Garibaldi. 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 Roma Termini and Milano Porta Garibaldi. The earliest departure is at 6:30 AM in the morning, and the last departure from Roma Termini is at 8:05 PM which arrives into Milano Porta Garibaldi at 11:27 PM. All services require a transfer at Milano Centrale and take an average of 3h 37m. The schedules shown below are for the next available departures.

3h 25m • 1 change

3h 20m • 1 change

3h 25m • 1 change

3h 18m • 1 change

3h 34m • 1 change

3h 25m • 1 change

3h 59m • 1 change

3h 25m • 1 change

3h 34m • 1 change

3h 29m • 1 change

3h 59m • 1 change

3h 29m • 1 change

3h 34m • 1 change

3h 29m • 1 change

3h 59m • 1 change

3h 29m • 1 change
Want to know about travelling from Roma Termini to Milano Porta Garibaldi? 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 Roma Termini to Milano Porta Garibaldi. However, there are services departing from Roma Termini station and arriving at Milano Porta Garibaldi station via Milano Centrale. The journey, including transfers, takes approximately 3h 37m.
Roma Termini to Milano Porta Garibaldi train services, operated by ItaloTreno, depart from Roma Termini station.
Roma Termini to Milano Porta Garibaldi train services, operated by ItaloTreno, arrive at Milano Centrale station.
Book your Roma Termini to Milano Porta Garibaldi train tickets online with ItaloTreno and ATM.
The distance between Roma Termini and Milano Porta Garibaldi is 479.3 km. The road distance is 583 km.
ItaloTreno operates a train from Roma Termini to Milano Centrale every 30 minutes. Tickets cost €70–150 and the journey takes 3h 5m.