There are 8 ways to get from Milan to Florence by train, night train, rideshare, car or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.
Recommended option
Train • 1h 45m
Cheapest option
Rideshare • 3h 52m
6 alternative options
Train via Milano Rogoredo • 2h 32m
Night train • 3h 52m
Drive • 2h 51m
Fly Milan Malpensa to Florence • 5h 7m
Fly Milan Linate to Bologna, train • 5h 59m
Milan to Florence by train
The train journey time between Milan and Florence is around 1h 45m and covers a distance of around 304 km. Operated by ItaloTreno and Trenitalia Frecce, the Milan to Florence train service departs from Milano Centrale Station and arrives in Firenze Santa Maria Novella. Typically 48 trains run weekly, although weekend and holiday schedules can vary so check in advance.
Travel safe during COVID-19
Rules to follow in Italy
1.5m
Mandatory
Travel within Italy
Observe COVID-19 safety rules
FFP2 masks are required on all public transport
COVID-19 help in Italy
If you need help, visit the national COVID-19 website or call the COVID-19 Helpline 1500
Frequently Asked Questions
There are currently travel restrictions within Italy.
Explore options for future travelDomestic travel is not restricted, but some conditions may apply
- Face masks are mandatory
- There is a social distancing requirement of 1.5 metres
- Observe COVID-19 safety rules
- FFP2 masks are required on all public transport
The national COVID-19 helpline number in Florence is 1500.
Wearing a face mask on public transport in Florence is mandatory.
The social distance requirement in Florence is 1.5 metres.
Make yourself known to an official member of staff and/or call the national coronavirus helpline number on 1500.
Last updated: 23 May 2022
Exceptions may apply, for full details: European Union.
We're working around the clock to bring you the latest COVID-19 travel updates.
This information is compiled from official sources. To the best of our knowledge, it is correct as of the last update.
Visit Rome2rio travel advice for general help.
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. Taking this option will cost €21 - €80 and takes 1h 45m.
Yes, there is a direct train departing from Milano Centrale Station station and arriving at Firenze Santa Maria Novella. Services depart every four hours, and operate every day. The journey takes approximately 1h 45m.
The distance between Milan and Florence is 248 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 €21 - €80.
The train from Milano Centrale Station to Firenze Santa Maria Novella takes 1h 45m including transfers and departs every four hours.
Milan to Florence train services, operated by ItaloTreno, depart from Milano Centrale Station.
The best way to get from Milan to Florence is to train which takes 1h 45m and costs €21 - €80. Alternatively, you can fly, which costs €85 - €410 and takes 5h.
There is no direct flight from Milan Linate Airport to Florence Airport. The quickest flight takes 3h 25m and has one stopover.
Milan to Florence train services, operated by ItaloTreno, arrive at Firenze Santa Maria Novella station.

- Distance: 248.2 km
- Duration: 1h 45m
What companies run services between Milan, Italy and Florence, Italy?
ItaloTreno operates a train from Milano Centrale Station to Firenze Santa Maria Novella every 2 hours. Tickets cost €21 - €60 and the journey takes 1h 45m. Trenitalia Frecce also services this route 3 times a day. Alternatively, Alitalia, Air Dolomiti and seven other airlines fly from Milan to Florence hourly.

- Website
- lufthansa.com
Flights from Milan Linate to Florence via Munich
- Ave. Duration
- 5h 15m
- When
- Every day
- Estimated price
- €330 - €1200
Flights from Milan Linate to Florence via Frankfurt
- Ave. Duration
- 5h 40m
- When
- Every day
- Estimated price
- €330 - €1200
Flights from Milan Malpensa to Florence via Munich
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €310 - €1100
Flights from Milan Malpensa to Florence via Frankfurt
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- €310 - €1100
Flights from Milan Linate to Bologna via Munich
- Ave. Duration
- 3h 50m
- When
- Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday
- Estimated price
- €410 - €700
Flights from Milan Linate to Bologna via Frankfurt
- Ave. Duration
- 5h 33m
- When
- Every day
- Estimated price
- €280 - €650

- Website
- klm.com
Flights from Milan Linate to Florence via Amsterdam Schiphol
- Ave. Duration
- 5h 48m
- When
- Every day
- Estimated price
- €220 - €1100
Flights from Milan Malpensa to Florence via Amsterdam Schiphol
- Ave. Duration
- 5h 30m
- When
- Every day
- Estimated price
- €200 - €1100
Flights from Milan Linate to Bologna via Amsterdam Schiphol
- Ave. Duration
- 6h 6m
- When
- Every day
- Estimated price
- €310 - €750

- Website
- airfrance.com
Flights from Milan Linate to Florence via Paris CDG
- Ave. Duration
- 5h 3m
- When
- Every day
- Estimated price
- €270 - €1700
Flights from Milan Malpensa to Florence via Paris CDG
- Ave. Duration
- 4h 21m
- When
- Every day
- Estimated price
- €280 - €2300
Flights from Milan Linate to Bologna via Paris CDG
- Ave. Duration
- 4h 5m
- When
- Monday
- Estimated price
- €320 - €1300

- Website
- airdolomiti.it
Flights from Milan Linate to Florence via Munich
- Ave. Duration
- 5h 15m
- When
- Every day
- Estimated price
- €330 - €1200
Flights from Milan Linate to Florence via Frankfurt
- Ave. Duration
- 6h 15m
- When
- Every day
- Estimated price
- €330 - €1200
Flights from Milan Malpensa to Florence via Munich
- Ave. Duration
- 4h 10m
- When
- Monday to Friday
- Estimated price
- €310 - €1100
Flights from Milan Linate to Bologna via Munich
- Ave. Duration
- 3h 50m
- When
- Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday
- Estimated price
- €410 - €700

- Website
- alitalia.com
Flights from Milan Linate to Florence via Rome
- Ave. Duration
- 3h 25m
- When
- Wednesday, Friday and Sunday
- Estimated price
- €130 - €700
Flights from Milan Malpensa to Florence via Luxembourg
- Ave. Duration
- 4h 5m
- When
- Tuesday and Thursday
- Estimated price
- €120 - €700
Flights from Milan Linate to Bologna via Rome
- Ave. Duration
- 4h 25m
- When
- Monday to Friday
- Estimated price
- €110 - €250
Flights from Milan Linate to Bologna via Alghero, Rome
- Ave. Duration
- 5h 25m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
- Estimated price
- €110 - €250

- Website
- vueling.com
Flights from Milan Malpensa to Florence via Barcelona
- Ave. Duration
- 6h 20m
- When
- Every day
- Estimated price
- €110 - €750
Flights from Milan Malpensa to Florence via Paris Orly
- Ave. Duration
- 6h 45m
- When
- Monday, Tuesday, Thursday, Friday and Sunday
- Estimated price
- €110 - €750
Flights from Milan Linate to Bologna via Madrid
- Ave. Duration
- 7h 25m
- When
- Every day
- Estimated price
- €310 - €600

- Website
- iberia.com
Flights from Milan Malpensa to Florence via Barcelona
- Ave. Duration
- 6h 20m
- When
- Every day
- Estimated price
- €110 - €750
Flights from Milan Malpensa to Florence via Paris Orly
- Ave. Duration
- 6h 45m
- When
- Monday, Tuesday, Thursday, Friday and Sunday
- Estimated price
- €110 - €750
Flights from Milan Linate to Bologna via Madrid
- Ave. Duration
- 7h 25m
- When
- Every day
- Estimated price
- €310 - €600

- Website
- swiss.com
Flights from Milan Malpensa to Florence via Zurich
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €180 - €800

- Website
- austrian.com
Flights from Milan Malpensa to Florence via Vienna
- Ave. Duration
- 5h 32m
- When
- Every day
- Estimated price
- €290 - €1100

- Website
- luxair.lu
Flights from Milan Malpensa to Florence via Luxembourg
- Ave. Duration
- 4h 5m
- When
- Tuesday and Thursday
- Estimated price
- €120 - €700

- Website
- britishairways.com
Flights from Milan Malpensa to Florence via London City
- Ave. Duration
- 6h 25m
- When
- Friday and Sunday
- Estimated price
- €230 - €1300

- Website
- en.aegeanair.com
Flights from Milan Malpensa to Florence via Athens
- Ave. Duration
- 6h 40m
- When
- Tuesday
- Estimated price
- €180 - €1200

- Website
- flytap.com
Flights from Milan Malpensa to Florence via Lisbon
- Ave. Duration
- 6h 40m
- When
- Monday, Thursday, Saturday and Sunday
- Estimated price
- €210 - €1100

Private train company Italotreno operates high-speed trains in Italy on the same tracks as Trenitalia. The routes service 21 stations across the country, including popular routes Milan-Florence, Rome-Venice and Bologna-Naples. Choose from four classes of service, all with free Wi-Fi: Smart, Comfort, Prima and Club Executive. Italo also operates Italobus – an integrated train-bus service that takes passengers from the main train stations to other Italian cities.
Contact Details
- Phone
- +39 060708
- Website
- italotreno.it
Train from Milano Centrale Station to Firenze Santa Maria Novella
- Ave. Duration
- 1h 45m
- Frequency
- Every 2 hours
- Estimated price
- €21 - €60
- Website
- Italo Treno
- Smart Economy
- €23 - €35
- Smart Low Cost
- €21 - €29
- Smart Flex
- €40 - €60
Train from Milano Rogoredo to Firenze Santa Maria Novella
- Ave. Duration
- 1h 45m
- Frequency
- Twice daily
- Estimated price
- €20 - €60
- Website
- Italo Treno
- Smart Economy
- €22 - €35
- Smart Low Cost
- €20 - €29
- Smart Flex
- €40 - €60
Train from Bologna Centrale Station to Firenze Santa Maria Novella
- Ave. Duration
- 38 min
- Frequency
- 4 times a day
- Estimated price
- €12 - €40
- Website
- Italo Treno
- Smart Economy
- €14 - €21
- Smart Low Cost
- €12 - €17
- Smart Flex
- €26 - €40

Trenitalia’s high-speed Frecce trains run on specialised tracks and have a greater level of service and comfort than InterCity and regional trains. There are three types of Frecce trains: Frecciarossa, (the fastest; connects major Italian cities); Frecciargento (mostly connect Rome to other Italian cities); and Frecciabianca (the slowest Frecce trains). Frecciarossa trains offer four classes of service, all with free Wi-Fi: Standard, Premium, Business and Executive. All Frecce tickets include a seat reservation and must be purchased before boarding the train.
Contact Details
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano P.Garibaldi to Firenze S.M.N.
- Ave. Duration
- 2h 2m
- Frequency
- 3 times a day
- Estimated price
- €24 - €80
- Website
- Trenitalia Frecce
- Super Economy
- €24 - €35
- Base Standard
- €45 - €65
- Base Premium
- €55 - €80
Train from Milano Rogoredo to Firenze S.M.N.
- Ave. Duration
- 1h 44m
- Frequency
- Hourly
- Estimated price
- €23 - €80
- Website
- Trenitalia Frecce
- Super Economy
- €23 - €35
- Base Standard
- €45 - €60
- Base Premium
- €55 - €80
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 37 min
- Frequency
- Every 30 minutes
- Estimated price
- €11 - €45
- Website
- Trenitalia Frecce
- Super Economy
- €11 - €15
- Base Standard
- €25 - €35
- Base Premium
- €30 - €45

Trenitalia’s Intercity (IC) trains are slower than the high-speed Frecce trains but are still a good way to travel between major cities and towns, with routes including Rome to Naples, Venice to Bologna and Milan to Genoa. Tickets usually open for booking 90 days ahead of travel, and you’ll need make a seat reservation before boarding. All IC trains have 1st and 2nd class carriages as well as a bar buffet car, air conditioning and power sockets. InterCity trains that run at night are called InterCity Notte (ICN).
Contact Details
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Rogoredo to Firenze S.M.N.
- Ave. Duration
- 3h 27m
- Frequency
- Once daily
- Estimated price
- €18 - €26
- Website
- Trenitalia Intercity
- 2nd Class
- €18 - €26
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 18m
- Frequency
- Once daily
- Estimated price
- €7 - €10
- Website
- Trenitalia Intercity
- 2nd Class
- €7 - €10

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.
Contact Details
- Phone
- 800 90 60 60
- Website
- trenitalia.com
Night train from Milano P.Garibaldi to Firenze Campo Marte
- Ave. Duration
- 3h 52m
- Frequency
- Once daily
- Estimated price
- €35 - €50
- Website
- Trenitalia ICN
- Schedules at
- Trenitalia
- Schedules at
- Bahn DB

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.
Contact Details
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Bologna Centrale to Firenze S.M.N.
- Ave. Duration
- 1h 32m
- Frequency
- Twice daily
- Estimated price
- €6 - €14
- Website
- Trenitalia
- 1st Class
- €12 - €14
Frequently asked questions

Blablacar is a popular ridesharing platform with 70 million users over 22 (mostly European) countries. The basic idea is that you carpool with locals who are already planning to drive your route and have space in their car. With some flexibility, you’ll get to your destination often faster and cheaper than other means. On the website or app, enter your departure and arrival points and your date of travel, sift through the profiles of drivers who’ve posted pre-planned drives and find one whose timing and preferences match yours. Request to join the ride, wait to be accepted, and pay your share of the set price.
Rome2rio's guide to BlaBlaCar
Contact Details
- Website
- blablacar.com
Rideshare from Milan to Florence
- Ave. Duration
- 3h 52m
- Frequency
- Hourly
- Estimated price
- €17
- Book at
- blablacar.co.uk
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
Within 90 minutes, you could be exploring regions as stunning as Emilia-Romagna, Umbria and the Veneto.
Read the travel guideItaly Travel Guides
Travel inspiration and top planning tips for getting around Italy.
Read the travel guideIs ride-sharing platform BlaBlaCar right for you?
Don't have a car, or can't get there on public transportation? This carpooling platform could be your answer.
Read the travel guideGetting to Milan from the airport
Get the details in Rome2rio’s airport-to-city travel guide
Read the travel guideMore Questions & Answers
Yes, the driving distance between Milan to Florence is 302 km. It takes approximately 2h 51m to drive from Milan to Florence.
Alitalia, Lufthansa, Air France and two other airlines offer flights from Milan Linate Airport to Florence Airport.
Book your Milan to Florence train tickets online with Omio.
There are 2208+ hotels available in Florence. Prices start at €87 per night.
The best way to get from Milan to Milan Linate Airport is to line 73 bus which takes 20 min and costs .