There are 9 ways to get from Milan to Florence by train (Trenitalia), bus, night train, car, rideshare, plane, or train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Milano Centrale to Firenze S.M.N.Fr
2h 54m€25–85Bus
cheapest- Take the bus from Milano, San Donato M3 to Florence Villa Constanza Bus StationN528 / ...
3h 25m€12–35Night train
- Take the night train from Milano Centrale to Firenze Campo MarteIni
3h 59m€35–55Drive 297.3 km
- Drive from Milan to Florence297.3 km
2h 49m€47–68Bus via Duomo M3
- Take the bus from Milan to Florence Villa Constanza Bus StationItabus
5h 29m€13–62Rideshare
- Take the rideshare from Milan to Florence301 km
3h 52m€17Fly Milan Linate Airport to Florence Peretola Airport
- Fly from Milan Linate Airport (LIN) to Florence Peretola Airport (FLR)LIN - FLR
4h 37m€99–334Fly Milano Malpensa Airport to Florence Peretola Airport
- Fly from Milano Malpensa Airport (MXP) to Florence Peretola Airport (FLR)MXP - FLR
5h 2m€87–267Fly Milan Linate Airport to Bologna Guglielmo Marconi Airport, train
- Fly from Milan Linate Airport (LIN) to Bologna Guglielmo Marconi Airport (BLQ)LIN - BLQ
- Take the train from Bologna Centrale to Florence Santa Maria Novella
5h 25m€103–326
Milan to Florence by train
Questions & Answers
The cheapest way to get from Milan to Florence is to rideshare which costs €17 and takes 3h 52m.
The fastest way to get from Milan to Florence is to drive which takes 2h 49m and costs €45 - €70.
Yes, there is a direct bus departing from Milano, San Donato M3 and arriving at Florence Villa Constanza Bus Station station. Services depart five times a day, and operate every day. The journey takes approximately 3h 25m.
Yes, there is a direct train departing from Milano Centrale and arriving at Firenze S.M.N.. Services depart hourly, and operate every day. The journey takes approximately 2h 54m.
The distance between Milan and Florence is 304 km. The road distance is 297.3 km.
The best way to get from Milan to Florence without a car is to train which takes 2h 54m and costs €25 - €85.
The train from Milan Centrale to Firenze S.M.N. takes 2h 54m including transfers and departs hourly.
Milan to Florence bus services, operated by FlixBus, depart from Milano, San Donato M3 station.
Milan to Florence train services, operated by Trenitalia Frecce, depart from Milano Centrale station.
The best way to get from Milan to Florence is to train which takes 2h 54m and costs €25 - €85. Alternatively, you can bus, which costs €12 - €35 and takes 3h 25m, you could also fly, which costs €95 - €340 and takes 4h 37m.
What companies run services between Milan, Italy and Florence, Italy?
Trenitalia Frecce operates a train from Milano Centrale to Firenze S.M.N. hourly. Tickets cost €35–85 and the journey takes 2h 54m. Two other operators also service this route. Alternatively, FlixBus operates a bus from Milano, San Donato M3 to Florence Villa Constanza Bus Station 5 times a day. Tickets cost €12–35 and the journey takes 3h 25m.
- Website
- ita-airways.com
Flights from Milan Linate Airport to Florence Peretola Airport via Rome
- Ave. Duration
- 3h 27m
- When
- Every day
- Estimated price
- €130–420
Flights from Milan Linate Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 4h 7m
- When
- Every day
- Estimated price
- €180–310
Flights from Milan Linate Airport to Florence Peretola Airport via Frankfurt
- Ave. Duration
- 5h 18m
- When
- Every day
- Estimated price
- €180–310
Flights from Milano Malpensa Airport to Florence Peretola Airport via Zurich
- Ave. Duration
- 3h 28m
- When
- Every day
- Estimated price
- €80–230
Flights from Milano Malpensa Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 4h 12m
- When
- Every day
- Estimated price
- €60–210
Flights from Milano Malpensa Airport to Florence Peretola Airport via Rome
- Ave. Duration
- 3h 20m
- When
- Saturday
- Estimated price
- €110–450
Flights from Milan Linate Airport to Bologna Guglielmo Marconi Airport via Munich
- Ave. Duration
- 4h 38m
- When
- Every day
- Estimated price
- €100–320
Flights from Milan Linate Airport to Bologna Guglielmo Marconi Airport via Rome
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- €100–260
Flights from Milan Linate Airport to Bologna Guglielmo Marconi Airport via Frankfurt
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- €100–440
- Website
- lufthansa.com
Flights from Milan Linate Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 4h 7m
- When
- Every day
- Estimated price
- €180–310
Flights from Milan Linate Airport to Florence Peretola Airport via Rome
- Ave. Duration
- 3h 32m
- When
- Every day
- Estimated price
- €130–420
Flights from Milan Linate Airport to Florence Peretola Airport via Frankfurt
- Ave. Duration
- 5h 18m
- When
- Every day
- Estimated price
- €180–310
Flights from Milano Malpensa Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 4h 12m
- When
- Every day
- Estimated price
- €60–210
Flights from Milan Linate Airport to Bologna Guglielmo Marconi Airport via Munich
- Ave. Duration
- 4h 38m
- When
- Every day
- Estimated price
- €100–320
Flights from Milan Linate Airport to Bologna Guglielmo Marconi Airport via Rome
- Ave. Duration
- 3h 37m
- When
- Every day
- Estimated price
- €100–260
Flights from Milan Linate Airport to Bologna Guglielmo Marconi Airport via Frankfurt
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- €100–440
- Website
- airdolomiti.it
Flights from Milan Linate Airport to Florence Peretola Airport via Frankfurt
- Ave. Duration
- 5h 18m
- When
- Every day
- Estimated price
- €180–310
Flights from Milan Linate Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 5h 5m
- When
- Every day
- Estimated price
- €180–310
Flights from Milano Malpensa Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 4h 12m
- When
- Every day
- Estimated price
- €60–210
Flights from Milan Linate Airport to Bologna Guglielmo Marconi Airport via Munich
- Ave. Duration
- 5h 27m
- When
- Every day
- Estimated price
- €100–320
Flights from Milan Linate Airport to Bologna Guglielmo Marconi Airport via Frankfurt
- Ave. Duration
- 4h 10m
- When
- Every day
- Estimated price
- €110–340
- Website
- swiss.com
Flights from Milano Malpensa Airport to Florence Peretola Airport via Zurich
- Ave. Duration
- 3h 28m
- When
- Every day
- Estimated price
- €80–230
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Firenze S.M.N.
- Ave. Duration
- 2h 54m
- Frequency
- Hourly
- Estimated price
- €35–85
- Schedules at
- trenitalia.com
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 45m
- Frequency
- Every 4 hours
- Estimated price
- €29–75
- Website
- https://www.italotreno.it/en
Train from Bologna Centrale to Florence Santa Maria Novella
- Ave. Duration
- 36 min
- Frequency
- Hourly
- Estimated price
- €14–35
- Website
- https://www.italotreno.it/en
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Firenze S.M.N.
- Ave. Duration
- 3h 42m
- Frequency
- Once daily
- Estimated price
- €25–65
- Website
- https://www.trenitalia.com/en.html
- Phone
- 06 3000
- Website
- trenitalia.com
Night train from Milano Centrale to Firenze Campo Marte
- Ave. Duration
- 3h 59m
- Frequency
- 4 times a week
- Estimated price
- €35–55
- Website
- https://www.trenitalia.com/en.html
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- flixbus.fr
Bus from Milano, San Donato M3 to Florence Villa Constanza Bus Station
- Ave. Duration
- 3h 25m
- Frequency
- 5 times a day
- Estimated price
- €12–35
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Milan to Florence Villa Constanza Bus Station
- Ave. Duration
- 4h 15m
- Frequency
- 4 times a day
- Estimated price
- €11–40
- Website
- https://www.itabus.it/en/home
- Phone
- + 39 0965 644747
- [email protected]
- Website
- autolineefederico.it
Bus from Milan to Florence Villa Constanza Bus Station
- Ave. Duration
- 4h 20m
- Frequency
- 3 times a week
- Estimated price
- €13–20
- Schedules at
- autolineefederico.it
- Phone
- +39 080 3112335
- [email protected]
- Website
- marinobus.it
Bus from Milan to Florence Villa Constanza Bus Station
- Ave. Duration
- 4h 10m
- Frequency
- Once daily
- Estimated price
- €30–60
- Website
- https://marinobus.it/en/
- Phone
- +3 318 576 2228
- Website
- blablacar.com
Rideshare from Milan to Florence
- Ave. Duration
- 3h 52m
- Frequency
- Hourly
- Estimated price
- €17
- Schedules at
- blablacar.com
Want to know more about travelling around Italy
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
5 incredible day trips from Florence by train
Read the travel guide
Italy Travel Guides
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Milan to Florence bus services, operated by FlixBus, arrive at Florence Villa Constanza Bus Station.
Milan to Florence train services, operated by Trenitalia Frecce, arrive at Firenze S.M.N. station.
Yes, the driving distance between Milan to Florence is 297 km. It takes approximately 2h 49m to drive from Milan to Florence.
Book your Milan to Florence train tickets online with Omio.
Book your Milan to Florence bus tickets online with Omio and FlixBus.
There are 8035+ hotels available in Florence.
Check out Blablacar's carpooling service for rideshare options between Milan and Florence. A great option if you don't have a driver's licence or want to avoid public transport.