There are 7 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.
- Take the train from Milano Rogoredo to Firenze S.M.N.Fr
bestTrain
1h 45m€19–80- Take the bus from Milano, San Donato M3 to FlorenceN528 / ...
cheapestBus
3h 25m€12–40- Take the night train from Milan Centrale to Firenze Campo MarteIni
Night train
3h 59m€35–55- Drive from Milan to Florence301.7 km
Drive 301.7 km
2h 51m€51–74- Take the rideshare from Milan to Florence306.2 km
Rideshare
3h 52m€17- Fly from Linate Airport (LIN) to Florence Peretola Airport (FLR)LIN - FLR
Fly from Linate Airport
4h 41m€84–324- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Fly from Malpensa International Airport (MXP) to Florence Peretola Airport (FLR)MXP - FLR
Train to Malpensa International Airport, fly
5h 26m€56–197
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 train which takes 1h 45m and costs €19 - €80.
Yes, there is a direct bus departing from Milano, San Donato M3 and arriving at Florence. Services depart every three hours, and operate every day. The journey takes approximately 3h 25m.
Yes, there is a direct train departing from Milano Rogoredo and arriving at Firenze S.M.N.. Services depart hourly, and operate every day. The journey takes approximately 1h 45m.
The distance between Milan and Florence is 296 km. The road distance is 301.7 km.
The best way to get from Milan to Florence without a car is to train which takes 1h 45m and costs €19 - €80.
The train from Milano Rogoredo to Firenze S.M.N. takes 1h 45m 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 Rogoredo station.
The best way to get from Milan to Florence is to train which takes 1h 45m and costs €19 - €80. Alternatively, you can bus, which costs €12 - €40 and takes 3h 25m, you could also fly, which costs €80 - €330 and takes 4h 41m.
What companies run services between Milan, Italy and Florence, Italy?
Trenitalia Frecce operates a train from Milano Rogoredo to Firenze S.M.N. hourly. Tickets cost €23–80 and the journey takes 1h 45m. Two other operators also service this route. Alternatively, FlixBus operates a bus from Milano, San Donato M3 to Florence every 4 hours. Tickets cost €23–35 and the journey takes 3h 25m. Three other operators also service this route.
- Website
- alitalia.com
Flights from Linate Airport to Florence Peretola Airport via Rome
- Ave. Duration
- 3h 22m
- When
- Every day
- Estimated price
- €110–500
Flights from Linate Airport to Florence Peretola Airport via Frankfurt
- Ave. Duration
- 6h
- When
- Monday to Saturday
- Estimated price
- €360–2,000
Flights from Malpensa International Airport to Florence Peretola Airport via Rome
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- €85–210
- Website
- lufthansa.com
Flights from Linate Airport to Florence Peretola Airport via Frankfurt
- Ave. Duration
- 4h 25m
- When
- Tuesday to Sunday
- Estimated price
- €360–2,000
Flights from Linate Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 5h 52m
- When
- Every day
- Estimated price
- €360–2,000
Flights from Malpensa International Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €430–850
- Website
- airdolomiti.it
Flights from Linate Airport to Florence Peretola Airport via Frankfurt
- Ave. Duration
- 4h 30m
- When
- Tuesday to Sunday
- Estimated price
- €360–2,000
Flights from Linate Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 6h 50m
- When
- Every day
- Estimated price
- €360–2,000
Flights from Malpensa International Airport to Florence Peretola Airport via Munich
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €430–850
- Website
- swiss.com
Flights from Malpensa International Airport to Florence Peretola Airport via Zurich
- Ave. Duration
- 3h 38m
- When
- Every day
- Estimated price
- €290–1,000
- Website
- austrian.com
Flights from Malpensa International Airport to Florence Peretola Airport via Vienna
- Ave. Duration
- 4h 10m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- €340–1,100
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Rogoredo to Firenze S.M.N.
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- €23–80
- Schedules at
- trenitalia.com
- Super Economy
- €23–35
- Base Standard
- €45–60
- Base Premium
- €55–80
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Rogoredo to Firenze S.M.N.
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- €45–65
- Website
- https://www.italotreno.it/en
- Smart Economy
- €45–60
- Smart Flex
- €50–65
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Rogoredo to Firenze S.M.N.
- Ave. Duration
- 3h 42m
- Frequency
- 6 times a week
- Estimated price
- €19–26
- Website
- https://www.trenitalia.com/
- 2nd Class
- €19–26
- Phone
- 06 3000
- Website
- trenitalia.com
Night train from Milan Centrale to Firenze Campo Marte
- Ave. Duration
- 3h 59m
- Frequency
- Once daily
- Estimated price
- €35–55
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, San Donato M3 to Florence
- Ave. Duration
- 3h 25m
- Frequency
- Every 4 hours
- Estimated price
- €23–35
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Milano, San Donato M3 to Florence
- Ave. Duration
- 4h
- Frequency
- 3 times a day
- Estimated price
- €12–17
- Website
- https://www.itabus.it/en/home
- Phone
- +33 18 57 62 228
- Website
- blablacar.co.uk
Bus from Milano, San Donato M3 to Florence
- Ave. Duration
- 4h 20m
- Frequency
- Twice daily
- Estimated price
- €22–35
- Website
- https://www.blablacar.co.uk/
- Phone
- +39 080 3112335
- info@marinobus.it
- Website
- marinobus.it
Bus from Milano, San Donato M3 to Florence
- Ave. Duration
- 4h 10m
- Frequency
- Once daily
- Estimated price
- €26–40
- 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 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 302 km. It takes approximately 2h 51m 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, FlixBus and Distribusion.
There are 7281+ hotels available in Florence. Prices start at €59 per night.
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.