The average train between San Donato Milanese and Florence takes 2h 31m and the fastest train takes 1h 53m. There is a train service every few hours from San Donato Milanese to Florence. 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 San Donato Milanese and Florence. The earliest departure is at 6:51 AM in the morning, and the last departure from San Donato Milanese is at 11:21 PM which arrives into Florence at 7:04 AM. All services require a transfer, and take on average 2h 31m. The schedules shown below are for the next available departures.

2h 13m • 1 change

2h 13m • 1 change

2h 13m • 1 change

1h 59m • 1 change

2h 13m • 1 change

2h 13m • 1 change

2h 13m • 1 change

1h 59m • 1 change

2h 13m • 1 change

2h 13m • 1 change

2h 13m • 1 change

1h 59m • 1 change
Want to know about travelling from San Donato Milanese to Florence? 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 San Donato Milanese to Florence. However, there are services departing from San Donato Milanese station and arriving at Florence station via Firenze S.M.N.. The journey, including transfers, takes approximately 2h 31m.
San Donato Milanese to Florence train services, operated by Trenord, depart from Milano Rogoredo station.
San Donato Milanese to Florence train services, operated by Trenord, arrive at Firenze S.M.N. station.
Book your San Donato Milanese to Florence train tickets online with Trenord and Trenitalia Frecce.
The distance between San Donato Milanese and Florence is 239.6 km. The road distance is 298 km.
Trenitalia Frecce operates a train from Milano Rogoredo to Firenze S.M.N. every 30 minutes. Tickets cost €40–85 and the journey takes 1h 45m. Two other operators also service this route.