Milan to Florence by train
Avg. journey time
Travelling from Milan to Florence by train
Fast trains from Milan to Florence take around 1 hour and 31 minutes, covering a distance of approximately 249 kilometres. There are frequent services on the rail route between Milan and Florence.
1. Are there direct trains from Milan to Florence?
Direct trains from Milan to Florence have been found.
We usually find around 42 direct trains on the route from Milan to Florence every weekday.
There are typically fewer departures at weekends, when we found around 37 departures.
2. How long is the train journey from Milan to Florence?
The Milan to Florence train travel time is normally about 1 hour and 31 minutes, whatever time you make the journey.
3. What are the Milan to Florence train times and schedule?
On weekdays the earliest direct train to Florence is usually scheduled to depart Milan around 05:00 and the last train is around 20:50.
This is the same at the weekend.
What's the Milan to Florence train price?
The earlier you book the better, and the cheapest tickets we've found for trains from Milan to Florence are $5.17.
Trains departing 30 days in advance will cost around $28, and when booking 7 days in advance the price is usually the same. Booking on the day of travel may be more expensive.
When to book Milan to Florence train tickets?
Trains in Italy usually open for booking around 6 months in advance.
If booking is not yet open for your dates then you can set a booking alert to receive an email on the day that the cheapest tickets are released for your journey from Milan to Florence by train.
Help with booking alerts
Which train companies operate between Milan and Florence?
More than one train company operates on the route from Milan to Florence, so you’ll be travelling with one or more of the following rail operators:
- Frecciarossa 1000
You can check which train you’ll be travelling on by looking for the train name in search results.
Florence to Milan by train
Easy, fast and cheap
Pay in EUR, GBP or USD
100% human support