Milan to Florence Bus from €9, Train from €2
5 suppliers · ~63 connections/day · cheapest €1.60 · updated 6h ago
The cheapest way from Milan to Florence is by bus (4h 15m, from €9). Trains are faster (1h 55m, from €2) and run multiple times daily via Trenitalia and Italo. For the best prices on either, book at least 2 weeks in advance.
| Transport | Supplier | From | Duration |
|---|---|---|---|
| 🚆Train | Trenitalia(stale)Daily | €1.60 | 4h 10m |
| ItaloDaily | €19.96 | 1h 55m | |
| 🚌Bus | Itabus(stale)Daily | €8.99 | — |
| FlixBus(stale)Daily | €8.99 | 4h 45m | |
| Marino Bus(stale)Daily | €39.00 | 4h 10m |
Click a transport type to see all departures
Trenitalia
Daily| Price | Departs | Arrives | Duration |
|---|---|---|---|
| €1.60 | 06:05 | 10:15 | 4h 10m |
| €1.60 | 06:05 | 10:15 | 4h 10m |
| €2.80 | 06:55 | 11:33 | 4h 38m |
| €9.30 | 07:55 | 13:33 | 5h 38m |
| €9.30 | 08:05 | 13:33 | 5h 28m |
| €9.30 | 07:55 | 13:33 | 5h 38m |
| €12.50 | 06:05 | 10:15 | 4h 10m |
| €14.50 | 06:05 | 10:15 | 4h 10m |
Italo
Daily| Price | Departs | Arrives | Duration |
|---|---|---|---|
| €19.96 | 05:40 | 07:35 | 1h 55m |
| €19.96 | 19:40 | 21:35 | 1h 55m |
| €19.96 | 05:40 | 07:35 | 1h 55m |
| €19.96 | 16:40 | 18:35 | 1h 55m |
| €19.96 | 17:15 | 19:00 | 1h 45m |
| €19.96 | 20:40 | 22:35 | 1h 55m |
| €19.96 | 19:40 | 21:35 | 1h 55m |
| €19.96 | 18:40 | 20:35 | 1h 55m |
Itabus
Daily| Price | Departs | Arrives | Duration |
|---|---|---|---|
| €8.99 | 03:17 | — | — |
| €8.99 | 03:22 | — | — |
| €8.99 | 03:17 | — | — |
| €8.99 | 16:11 | — | — |
| €8.99 | 06:03 | — | — |
| €8.99 | 03:08 | — | — |
| €8.99 | 03:14 | — | — |
| €8.99 | 18:03 | — | — |
FlixBus
Daily| Price | Departs | Arrives | Duration |
|---|---|---|---|
| €8.99 | 09:05 | 13:50 | 4h 45m |
| €8.99 | 10:30 | 15:30 | 5h |
| €8.99 | 15:50 | 20:15 | 4h 25m |
| €8.99 | 16:20 | 21:20 | 5h |
| €8.99 | 17:05 | 21:20 | 4h 15m |
| €8.99 | 11:55 | 16:50 | 4h 55m |
| €8.99 | 12:40 | 17:50 | 5h 10m |
| €8.99 | 12:45 | 16:50 | 4h 5m |
Marino Bus
Daily| Price | Departs | Arrives | Duration |
|---|---|---|---|
| €39.00 | 19:05 | 23:15 | 4h 10m |
| €39.00 | 18:25 | 23:15 | 4h 50m |
| €39.00 | 19:05 | 23:15 | 4h 10m |
| €39.00 | 19:05 | 23:15 | 4h 10m |
| €39.00 | 18:25 | 23:15 | 4h 50m |
| €39.00 | 18:25 | 23:15 | 4h 50m |
| €39.00 | 19:05 | 23:15 | 4h 10m |
| €39.00 | 18:25 | 23:15 | 4h 50m |
Frequently asked questions
How much does it cost to travel from Milan to Florence?▾
Travel from Milan to Florence starts from €8 by bus or €1 by train. Train prices can reach €19 for last-minute bookings, so book in advance for the best deals on this route.
What is the cheapest way to travel from Milan to Florence?▾
The cheapest option is bus, with fares starting from €8 (Itabus, Flixbus, Marinobus). Trains start from €1 (Trenitalia, Italo) and are much faster. For the lowest prices on either mode, book as early as possible.
Is it worth taking the train from Milan to Florence?▾
Yes — the train is a convenient option between Milan and Florence, offered by Trenitalia, Italo from €1. Trains in Italy are punctual and city-centre to city-centre, avoiding airport transfers.
What transport options are available from Milan to Florence?▾
You can travel from Milan to Florence by train and bus. Prices start from €1. Compare all fares on this page — results are updated daily from live booking systems.
Should I book tickets from Milan to Florence in advance?▾
Yes — booking early is the best way to get cheap tickets from Milan to Florence. Prices typically start from €1 when booked weeks ahead and rise significantly for last-minute purchases. For travel during peak season (June–August) or public holidays, book at least 2–3 weeks in advance.
What is the best time to travel from Milan to Florence?▾
Travel from Milan to Florence is most convenient on weekday mornings (6–9am) and early afternoons, when services are most frequent. Avoid Friday evenings and Sunday afternoons when trains and buses are busiest. Shoulder season (April–May and September–October) offers lower prices and fewer crowds.
Can I bring luggage on the trains from Milan to Florence?▾
Yes, Trenitalia and Italo trains allow standard luggage free of charge. Trains permit 2 standard bags in overhead racks — no strict weight limit but large items should go in the luggage area. FlixBus and other coaches include one checked bag in the hold. Private transfers accommodate any amount of luggage — confirm with the operator when booking.
Is there a direct train from Milan to Florence?▾
Yes, direct trains run between Milan and Florence with Trenitalia, Italo. No changes are required on this route. Tickets can be purchased on the operator's website or compared on this page to find the lowest available fare.
How do I book transport from Milan to Florence?▾
Compare all options on this page — prices are pulled live from operators' systems. Click any price to go directly to the operator's booking page. Payment is made on the operator's site (Trenitalia, Italo, FlixBus, etc.) — ItalyFare charges no booking fees. You can also book at the station on the day, but prices are usually higher without advance purchase.
Are there discounts for the Milan to Florence route?▾
Yes — several discounts apply on Milan to Florence services. Children under 4 travel free on most trains; ages 4–11 get up to 50% off. Trenitalia and Italo offer youth (under 26) and senior (over 60) discount cards. Booking well in advance usually gives the biggest saving regardless of age.
CO2 emissions per passenger
Train saves ~95% CO2 vs flying (295 km route)
Sources: EEA, ADEME. Average occupancy assumed.
Onboard amenities
| Operator | WiFi | Power | Luggage | Quiet zone |
|---|---|---|---|---|
| Trenitalia | Frecciarossa | Frecciarossa/Frecciargento | No limit, overhead rack | Frecciarossa |
| Italo | ✓ | ✓ | No limit, overhead rack | Smart class |
| Itabus | ✓ | ✓ | 1×25 kg + carry-on | – |
| FlixBus | ✓ | ✓ | 1×23 kg + carry-on | – |
| Marino Bus | Some routes | Some routes | 1 bag + carry-on | – |
Best day to travel from Milan to Florence
Cheapest day: Monday (from €2)
Based on 2,940 offers. Prices vary — book in advance for the cheapest fare.