Buying tickets in advance can save you money. Prices for train journeys from Milan to Florence start at €31.86 when you book at least 28 days in advance.*
The minimum price of a train ticket from Milan to Florence is €7.9. To buy train tickets from Milan to Florence for the lowest price possible, we recommend that you book your tickets as early as possible. Tickets go on sale usually 3 months in advance, yet in some rare cases this can be up to 6 months. For more precise information on when you can book your tickets or whether there are any promotional sales, click here.
The average journey time between Milan and Florence is 1 hour and 47 minutes and the fastest journey time is 1 hour and 39 minutes. On an average weekday, there are 30 trains per day travelling from Milan to Florence. The journey time may be longer on weekends and holidays; use our journey planner on this page to search for a specific travel date.
The first train from Milan to Florence departs at 05:00. The last train from Milan to Florence departs at 20:50. Trains that depart in the early morning hours or very late evening may be sleeper services. Alternatively, some popular routes may run throughout the night at a reduced frequency. There may also be less services on weekends and holidays; use our journey planner on this page to search for a specific travel date.
Yes, it is possible to travel from Milan to Florence without having to change trains. There are 18 direct trains from Milan to Florence. Though there may be fewer direct services available depending on your exact departure date.