Milan to Florence by Train: 34 Direct a Day, and One Trap at 05:50
Updated September 2026 · Every departure and fare queried directly from Trenitalia in both directions, and checked against Italo’s own route page

This is the leg that opens most Italy trips, and it is the one where the published numbers fall apart worst. Rail Europe says the journey takes 1h39. Omio says 3h41. ItaliaRail counts 44 trains a day, Omio counts 79, and Google’s own AI Overview says about 60. On the distance, Italo says 306 km and Google says 250. Somebody is wrong about everything.
So we counted, the same way we did for the Rome leg and the Venice one: every departure pulled from Trenitalia’s own booking system on 5 September 2026 for travel on Wednesday 23 September, in both directions, cross-checked against Italo’s published route page.
Every train, counted
Fifty-two distinct Trenitalia itineraries in one midweek day, of which only 18 run direct. Add the 16 Italo publishes for its own services and the route has roughly 34 direct trains a day.
That number matters because the ones being quoted are not it. ItaliaRail says 44. Omio says 79, which is close to the total number of itineraries you can buy if you count every combination with changes, but calling those trains from Milan to Florence is generous when the slowest takes six and a half hours. Google’s AI Overview says about 60. None of the three is the number of trains that actually go there without making you change.
Put it next to the other two legs and the shape of the Italian network shows up. Rome to Florence runs 65 services with 54 direct. Milan to Florence runs 52 with 18. Florence to Venice runs 36 with 14.
One qualification on that 34, and it is the useful kind. Those 18 are the ones that call at Milano Centrale, which is the station almost everyone means by Milan. Search from Milano Rogoredo instead and Trenitalia returns 25 direct services, and seven of those never touch Centrale at all.
The 05:50 is the one to avoid
This is the single most useful thing on this page and no source in the search results mentions it.
Seventeen direct Frecciarossa left Milano Centrale that day. Sixteen of them took exactly 1 hour 54 minutes. The seventeenth, the 05:50, took 3 hours flat, arriving at 08:50.
It costs 21.90 euros, the same as the 05:10, which leaves forty minutes earlier and arrives an hour and three quarters sooner, at 07:04. If you are booking the early train to make the most of a day and you sort by price, the two look identical. One of them costs you the morning.
Every direct service of the day
Here is the whole set. The pattern is easy once you see it: one Frecciarossa at :10 past every hour from 05:10 to 20:10, with the 05:50 and the 17:40 Intercity as the two departures that break it.
| Departs | Arrives | Journey | Fare | Worth knowing |
|---|---|---|---|---|
| 05:10 | 07:04 | 1h 54 | 21.90 € | Joint cheapest Frecciarossa of the day |
| 05:50 | 08:50 | 3h 00 | 21.90 € | The trap: same price, an hour longer |
| 06:10 | 08:04 | 1h 54 | 26.90 € | |
| 07:10 | 09:04 | 1h 54 | 43.90 € | |
| 08:10 | 10:04 | 1h 54 | 43.90 € | |
| 09:10 | 11:04 | 1h 54 | 56.90 € | Dearest of the day |
| 10:10 | 12:04 | 1h 54 | 43.90 € | |
| 11:10 | 13:04 | 1h 54 | 56.00 € | |
| 12:10 | 14:04 | 1h 54 | 46.90 € | |
| 13:10 | 15:04 | 1h 54 | 43.90 € | |
| 14:10 | 16:04 | 1h 54 | 39.90 € | |
| 15:10 | 17:04 | 1h 54 | 43.90 € | |
| 16:10 | 18:04 | 1h 54 | 36.90 € | |
| 17:10 | 19:04 | 1h 54 | 43.90 € | |
| 17:40 | 21:22 | 3h 42 | 15.90 € | Intercity, and the cheapest seat of the day |
| 18:10 | 20:04 | 1h 54 | 46.90 € | |
| 19:10 | 21:04 | 1h 54 | 33.90 € | |
| 20:10 | 22:04 | 1h 54 | 21.90 € | Last direct, and joint cheapest |
The fare swing on the identical journey is the other thing worth taking from that table. The same 1h 54 Frecciarossa costs 21.90 euros at 05:10 and 20:10 and 56.90 at 09:10. That is two and a half times the price for the same train, the same seat class and the same 114 minutes, decided entirely by the hour you pick. Early morning and evening are cheap, the nine to noon block is not.
The 15.90 euro train nobody mentions
The cheapest ticket of the day was not any of the Frecciarossa. It was the 17:40 Intercity, direct, 15.90 euros, arriving at 21:22 after 3h 42.
That is worth knowing for two reasons. It undercuts the cheapest Frecciarossa by six euros, and it is the only ticket under twenty euros on the whole board that does not involve changing trains. Every other cheap itinerary that day was a regional combination at 26.00 euros with two or three changes and five hours of travelling, which is worse on every axis.
In the other direction there is an equivalent and it is cheaper still: Firenze SMN 08:21 to Milano Centrale 12:15, 3h 54, 12.90 euros.
Whether it is worth it depends on what your time costs. Against the 21.90 euro Frecciarossa you save six euros and spend an extra 108 minutes on a train. Against the 56.90 euro nine o’clock departure you save 41 euros for the same 108 minutes, which is a different proposition entirely.
Seven more trains, if you can get to Rogoredo
Milano Rogoredo is Milan’s southern through station, about ten minutes from Centrale on the M3 metro line and on the suburban network. Nobody thinks of it as a departure point for Florence, and the search you are most likely to run will never show it to you, because you will have typed Milano Centrale.
Querying Rogoredo directly returns 25 direct services on the same Wednesday. Seventeen of them are the trains already in the table above, calling at Centrale first and reaching Rogoredo ten minutes later. But seven are services that do not stop at Centrale at all: six Frecciarossa at :05 past the hour and one EuroCity.
| Departs Rogoredo | Journey | Fare | Against Centrale |
|---|---|---|---|
| 09:05 | 1h 45 | 33.90 € | The 09:10 from Centrale was 56.90 € |
| 10:05 | 1h 45 | 36.90 € | The 10:10 from Centrale was 43.90 € |
| 15:05 | 1h 45 | 21.90 € | The 15:10 from Centrale was 43.90 € |
| 16:05 | 1h 45 | 21.90 € | The 16:10 from Centrale was 36.90 € |
| 17:05 | 1h 45 | 26.90 € | The 17:10 from Centrale was 43.90 € |
| 19:05 | 1h 45 | 33.90 € | The 19:10 from Centrale was 33.90 € |
| 18:12 | 3h 18 | 25.90 € | EuroCity, the slow one |
The 15:05 and the 16:05 are the ones worth the detour: 21.90 euros against 43.90 and 36.90 for the nearest Centrale departure, for a journey nine minutes shorter. That is half price on the afternoon service, and it is invisible to anyone searching from Centrale.
The honest caveat is that this only helps if getting to Rogoredo is easy for you. From the centre of Milan it is a metro ride with luggage, and if you are already at Centrale with a bag, walking to the platform beats saving fourteen euros for most people. If you are staying in the south or the east of the city, or arriving on a suburban line, it is the better station and nobody will have told you.
Italo is the faster one
Trenitalia is the national operator and the one most guides default to, so the assumption is that its Frecciarossa is the quickest thing on the line. On this route it is not.
| Trenitalia | Italo | |
|---|---|---|
| Direct services a day | 18 | 16 |
| Fastest journey | 1h 54 | 1h 43 |
| Lead-in fare | 15.90 € (Intercity), 21.90 € (Frecciarossa) | 17.90 € |
| Stops on the route | Varies by service | Rogoredo, Reggio Emilia AV, Bologna |
Eleven minutes is not a reason to reorganise a trip. It is a reason not to assume, and it is a reason to check both before you book, because the two operators sell on separate websites and neither shows you the other’s trains. Most price comparisons you will find only cover one of them.
What booking early actually buys you
On the Rome leg we found a clean floor: the fare stopped dropping at thirteen days out and did not move again. This route does not behave that way, and the difference is worth spelling out.
We queried nine consecutive Wednesdays so that the day of the week was held constant. That correction matters: our first pass compared a Saturday, a Sunday, a Tuesday and a Monday, which mixes the effect of booking early with the effect of the day you travel.
| Booked | Cheapest 1h54 Frecciarossa | Cheapest ticket of any kind | The gap |
|---|---|---|---|
| 4 days ahead | 49.90 € | 26.00 € | 23.90 € |
| 11 days ahead | 43.90 € | 26.00 € | 17.90 € |
| 18 days ahead | 43.90 € | 26.00 € | 17.90 € |
| 25 days ahead | 39.90 € | 26.00 € | 13.90 € |
| 32 days ahead | 36.90 € | 26.00 € | 10.90 € |
| 46 days ahead | 36.90 € | 26.00 € | 10.90 € |
| 60 days ahead | 33.90 € | 26.00 € | 7.90 € |
Two things come out of that. The fast train keeps getting cheaper all the way out to sixty days, a 32 percent drop, with no floor of the kind the Rome route has. And the cheapest option never moves from 26.00 euros, because regional fares in Italy are fixed and have no demand pricing at all.
Which means the real effect of booking early on this route is not that the train gets cheap. It is that the slow train stops being worth taking. Four days out you are paying 24 euros to save three and a half hours. Sixty days out you are paying eight euros for the same three and a half hours, and at that price there is no argument left for the regional.
Florence as a day trip from Milan
Google asks this one in the People Also Ask box, so people are clearly wondering, and the honest answer is that it works better than most day trips of this length because the timetable is generous at both ends.
| Departs Florence | Arrives Milan | Journey | Fare |
|---|---|---|---|
| 06:55 | 08:50 | 1h 55 | 61.00 € |
| 07:55 | 09:50 | 1h 55 | 49.90 € |
| 08:21 | 12:15 | 3h 54 | 12.90 € |
| 08:55 | 10:50 | 1h 55 | 33.90 € |
| 09:55 to 13:55, hourly at :55 | 1h 55 | 30.90 to 46.90 € | |
| 14:55 | 16:50 | 1h 55 | 56.00 € |
| 15:55 | 17:50 | 1h 55 | 33.90 € |
| 16:55 | 18:50 | 1h 55 | 36.90 € |
| 17:55 | 19:50 | 1h 55 | 49.90 € |
| 18:55 | 20:50 | 1h 55 | 33.90 € |
| 19:55 | 21:50 | 1h 55 | 30.90 € |
| 20:55 | 22:50 | 1h 55 | 21.90 € |
| 21:36 | 00:25 | 2h 49 | 21.90 € |
| 21:55 | 23:50 | 1h 55 | 21.90 € |
The maximum version is the 05:10 out, arriving 07:04, and the 21:55 back, arriving 23:50. That is nearly fifteen hours in Florence for four hours on a train, and on the day we checked both legs were 21.90 euros, so 43.80 euros return.
The sane version is the 06:10 out and the 18:55 or 19:55 back, which still leaves you close to eleven hours in the city and gets you to bed at a reasonable hour.
What you cannot do is improvise it. Eleven hours is enough for the Duomo complex and one of the two big galleries, and only if you have already bought the tickets, because the walk-up queues will eat the day. That is covered in what to book before you arrive, and it is the part of a Milan day trip that actually goes wrong.
Everything else on this page says the same thing: book the train yourself, on Trenitalia’s or Italo’s own site, and check both. The day trip is the one case where that is not automatically the best answer, so here is the alternative with its weakness stated first.

Florence Renaissance and Medieval: Day Trip from Milano by High-Speed Train
Ten hours, high-speed train both ways and a guide in Florence. The number to weigh it against is the 43.80 € those two train journeys cost us on the day we checked, so you are paying roughly 120 € for the guiding and for someone else owning the timings. Worth it on a tight day you cannot afford to get wrong, and not otherwise. Note that the evidence is thin: 4.5 is a good score but it rests on 20 reviews, where the Florence day tours we rate elsewhere sit on hundreds.
How far it really is
306 km by rail. That is the figure Italo publishes on its own route page, and it is the distance the train covers.
You will also see 250 km, or 155 miles, quoted widely. At the time we checked, Google AI Overview stated the distance as “around 155 miles (250 km)” and cited Italo’s page as its source. That same Italo page says the route is 306 km long, and separately, in its FAQ, that “the direct distance between Milan and Florence is 250 km”.
Those are two different measurements and Italo labels them as such. One is the line the train follows through Bologna and across the Apennines; the other is a straight line drawn on a map. The summary took the second and presented it as the first. We are reporting what each source says rather than guessing how that happened.
One source says the trip takes 1h39, another says 3h41
| Source | Trains a day | Journey | Distance | From |
|---|---|---|---|---|
| Ours, counted | 34 direct | 1h 54 Trenitalia, 1h 43 Italo | 306 km | 15.90 € |
| Italo | 16, its own only | 1h 43 | 306 km | 17.90 € |
| ItaliaRail | 44 | 1h 54 | 306 km | $18 |
| Rail Europe | Not stated | 1h 39 | Not stated | $3.60 |
| Rome2Rio | Hourly | 1h 54 | Not stated | 40 to 90 € |
| Trainline | Not stated | 1h 43 | 249 km | $13.30 |
| Omio | 79 | 3h 41 | Not stated | 8 € |
| Google AI Overview | About 60 | 1h 40 to 1h 55 | 250 km | Not stated |
Two of those are worth flagging. Rome2Rio’s 40 to 90 euros would lead you to believe the route costs at least double what it does, when there were direct Frecciarossa at 21.90 and a direct Intercity at 15.90 on the day we looked. Rail Europe’s $3.60 has the opposite problem: nothing on this route costs three dollars and sixty cents.
And Omio’s 3h 41 is not wrong so much as unhelpful. That is roughly the average across all 52 itineraries including the six-hour regional combinations, which is a true number that describes no train anybody would choose.
Questions
Is there a high-speed train from Milan to Florence?
Yes, and plenty of them. On the midweek day we queried, Trenitalia ran 17 direct Frecciarossa services plus one direct Intercity, and Italo publishes 16 of its own, so the route has around 34 direct trains a day between the two operators. The catch is that Trenitalia also sells 34 further itineraries with one to three changes on the same day, and those take between four and six and a half hours.
How long is the train from Milan to Florence?
One hour 54 minutes on a Trenitalia Frecciarossa, and it is almost perfectly consistent: 16 of the 17 direct Frecciarossa we timed ran to exactly that. The exception is the 05:50, which takes 3 hours flat. Italo advertises 1 hour 43 minutes for its non-stop service, which makes Italo the faster operator on this route by eleven minutes. The figures you see quoted elsewhere, anything from 1h39 to 3h41, come from mixing the direct trains in with the connections or from quoting one operator as though it were the whole route.
How much is the train from Milan to Florence?
Between 21.90 and 56.90 euros for a direct Frecciarossa on the day we checked, and which end you pay depends on the hour you pick as much as on how early you book. The 05:10 and the 20:10 were both 21.90; the 09:10 was 56.90 for the identical journey. The cheapest ticket of the whole day was neither: a direct Intercity at 15.90 euros that takes 3h 42.
Is Florence worth a day trip from Milan?
It works better than most day trips of this length, because the timetable is generous at both ends. The 05:10 puts you in Florence at 07:04 and the 21:55 back gets you to Milan at 23:50, and on the day we checked both of those were 21.90 euros, so 43.80 euros return. A more humane version is the 06:10 out and the 18:55 or 19:55 back, which still gives you ten hours in the city. What you cannot do is see the Uffizi and the Accademia properly in that time without booking both in advance.
How far is Florence from Milan?
306 km by rail, which is the figure Italo publishes for the route. You will also see 250 km or 155 miles quoted, including in Google AI Overview at the time we checked. That is the straight-line distance, not the distance the train covers, and Italo distinguishes the two explicitly on the same page the shorter figure is taken from.
Do I need to book the Milan to Florence train in advance?
Not to get a seat, but it changes what the fast train costs you relative to the slow one. Booking four days out, the cheapest direct Frecciarossa was 49.90 euros against 26.00 for the cheapest itinerary of any kind. Booking sixty days out, the Frecciarossa was 33.90 and the slow option was still 26.00. The regional fare never moves. So booking early does not make the train cheap, it makes the fast train stop being worth skipping.
Is the Milan to Florence train scenic?
We have not made this journey and will not tell you how it looks. What we can tell you is where it goes: Italo lists its stops as Milano Centrale, Milano Rogoredo, Reggio Emilia AV, Bologna Centrale and Firenze Santa Maria Novella. Between Bologna and Florence the line crosses the Apennines, and the high-speed alignment does most of that in tunnel, so the part people expect to be the scenic part is largely underground.
Can I get the train to Florence from Milano Rogoredo?
Yes, and on the day we checked it was sometimes much cheaper. Rogoredo returned 25 direct services, seventeen of which are the same trains that leave Centrale ten minutes earlier. The other seven never call at Centrale, and two of them, the 15:05 and the 16:05, were 21.90 euros against 43.90 and 36.90 for the nearest Centrale departure, on a journey nine minutes shorter. Rogoredo is about ten minutes from Centrale on the M3 metro, so it is only worth it if you are not already standing in Centrale with your luggage.
Which stations do the trains use?
Milano Centrale to Firenze Santa Maria Novella, and Santa Maria Novella is the one you want: it is a ten minute walk from the Duomo. Some Trenitalia itineraries route through Firenze Campo di Marte or Rifredi instead, which are further out, and a few of the cheaper combinations start from Milano Rogoredo or Porta Garibaldi rather than Centrale. Check which Milan station your ticket actually departs from before you plan the morning.
Some links on this page are affiliate links. If you book through them we earn a commission at no extra cost to you. It does not change what we recommend: we rank on what you get for the money, and we say so when something is not worth booking. Full disclosure.
Next: what to book before you arrive in Florence or the Venice leg, counted the same way.