There are 8 ways to get from Milan to Florence by train, bus, night bus, 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 Trenitalia Frecce  •  1 h 39 min

  1. Take the train from Milano Centrale to Firenze S.Maria Novella Reg / ...

$29 - $55

Cheapest option

Night bus  •  4 h 44 min

  1. Take the night bus from Milano - Autostazione San Donato to FIRENZE - Autostazione SITA via S.Caterina da Siena17 Baltour

$18 - $24

6 alternative options

Train ItaloTreno  •  2 h 26 min

  1. Take the train from Milano Rogoredo Station to Firenze Santa Maria Novella Station Mi-Na / ...

$31 - $57

Bus  •  5 h 7 min

  1. Take the bus from Milan, Milan to Florence, Florence 527

$19 - $30

Rideshare  •  3 h 52 min

  1. Take the rideshare from Milan to Florence 191.9 miles

$20

Drive  •  2 h 53 min

  1. Drive from Milan to Florence 189 miles

$45 - $70

Fly from Milan Linate  •  4 h 33 min

  1. Fly from Milan Linate (LIN) to Florence (FLR) LIN - FLR

$123 - $395

Fly from Milan Malpensa  •  5 h 5 min

  1. Fly from Milan Malpensa (MXP) to Florence (FLR) MXP - FLR

$124 - $329

Questions & Answers

No, there is no direct bus from Milan to Florence. However, there are services departing from duomo m1 m3 and arriving at Florence, Florence via Milan, Milan. The journey, including transfers, takes approximately 5 h 7 min.

More details

Yes, there is a direct train departing from Milano Centrale and arriving at Firenze S.Maria Novella. Services depart hourly, and operate every day. The journey takes approximately 1 h 39 min.

More details

The distance between Milan and Florence is 248 km. The road distance is 302.5 km.

Get driving directions

The best way to get from Milan to Florence without a car is to train which takes 1 h 39 min and costs .

More details

The train from Milano Centrale to Firenze S.Maria Novella takes 1 h 39 min including transfers and departs hourly.

More details

Milan to Florence bus services, operated by FlixBus, depart from Milan, Milan station.

More details

Milan to Florence train services, operated by Trenitalia Frecce, depart from Milano Centrale station.

More details

The best way to get from Milan to Florence is to train which takes 1 h 39 min and costs . Alternatively, you can bus, which costs and takes 5 h 7 min, you could also fly, which costs and takes 4 h 33 min.

Mode details

There is no direct flight from Milan Linate Airport to Florence Airport. The quickest flight takes 2 h 55 min and has one stopover.

Search flights

Milan to Florence bus services, operated by FlixBus, arrive at Florence, Florence station.

More details

Map of how to get from Milan to Florence.
Launch map view
  • Distance: 155.1 miles
  • Duration: 1 h 39 min

What companies run services between Milan, Italy and Florence, Italy?

Trenitalia Frecce operates a train from Milan to Florence hourly. Tickets cost $35 - $55 and the journey takes 1 h 39 min. ItaloTreno also services this route hourly. Alternatively, FlixBus operates a bus from Milan to Florence once daily. Tickets cost $17 - $28 and the journey takes 3 h 45 min.

Airlines
Lufthansa
Website
lufthansa.com
Flights from Milan Linate to Florence via Frankfurt
Ave. Duration
4 h 41 min
When
Every day
Estimated price
$350 - $2,100
Flights from Milan Malpensa to Florence via Frankfurt
Ave. Duration
5 h
When
Every day
Estimated price
$290 - $700
Flights from Milan Malpensa to Florence via Munich
Ave. Duration
3 h 58 min
When
Every day
Estimated price
$160 - $310
Alitalia
Website
alitalia.com
Flights from Milan Linate to Florence via Rome
Ave. Duration
3 h 11 min
When
Every day
Estimated price
$130 - $550
Flights from Milan Linate to Florence via Naples, Rome
Ave. Duration
5 h 25 min
When
Every day
Estimated price
$130 - $550
Flights from Milan Linate to Florence via Cagliari, Rome
Ave. Duration
5 h 42 min
When
Every day
Estimated price
$130 - $550
Flights from Milan Malpensa to Florence via Rome
Ave. Duration
3 h 53 min
When
Every day
Estimated price
$250 - $900
Air France
Website
airfrance.com
Flights from Milan Linate to Florence via Paris CDG
Ave. Duration
4 h 40 min
When
Every day
Estimated price
$180 - $1,300
Flights from Milan Malpensa to Florence via Paris CDG
Ave. Duration
4 h 57 min
When
Every day
Estimated price
$150 - $1,100
KLM
Website
klm.com
Flights from Milan Linate to Florence via Amsterdam
Ave. Duration
5 h 45 min
When
Every day
Estimated price
$260 - $3,200
Flights from Milan Malpensa to Florence via Amsterdam
Ave. Duration
5 h 38 min
When
Every day
Estimated price
$240 - $700
Iberia
Website
iberia.com
Flights from Milan Linate to Florence via Madrid
Ave. Duration
6 h 15 min
When
Monday, Tuesday, Wednesday, Friday, Saturday and Sunday
Estimated price
$260 - $1,100
Flights from Milan Malpensa to Florence via Barcelona
Ave. Duration
5 h 20 min
When
Monday, Tuesday, Thursday and Saturday
Estimated price
$200 - $650
Swiss
Website
swiss.com
Flights from Milan Malpensa to Florence via Zurich
Ave. Duration
3 h 25 min
When
Every day
Estimated price
$110 - $480
Vueling Airlines
Website
vueling.com
Flights from Milan Malpensa to Florence via Barcelona
Ave. Duration
5 h 20 min
When
Monday, Tuesday, Thursday and Saturday
Estimated price
$200 - $650
Austrian Airlines
Website
austrian.com
Flights from Milan Malpensa to Florence via Vienna
Ave. Duration
5 h 30 min
When
Monday to Saturday
Estimated price
$270 - $850
Air Dolomiti
Website
airdolomiti.it
Flights from Milan Malpensa to Florence via Munich
Ave. Duration
6 h
When
Every day
Estimated price
$160 - $310
TAP Portugal
Website
flytap.com
Flights from Milan Malpensa to Florence via Lisbon
Ave. Duration
7 h 20 min
When
Monday, Thursday, Friday, Saturday and Sunday
Estimated price
$550 - $1,300
Train operators
Trenitalia Frecce

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 Milano Centrale to Firenze S.Maria Novella
Ave. Duration
1 h 39 min
Frequency
Hourly
Estimated price
$35 - $55
Website
orario.trenitalia.com
Train from Milano Rogoredo to Firenze S.Maria Novella
Ave. Duration
1 h 40 min
Frequency
Every 3 hours
Estimated price
$35 - $55
Website
orario.trenitalia.com
ItaloTreno
Phone
+39 060708
Website
italotreno.it
Train from Milano Centrale Station to Firenze Santa Maria Novella Station
Ave. Duration
1 h 56 min
Frequency
Hourly
Estimated price
$29 - $45
Website
italotreno.it
Train from Milano Rogoredo Station to Firenze Santa Maria Novella Station
Ave. Duration
1 h 44 min
Frequency
Hourly
Estimated price
$29 - $45
Website
italotreno.it
Bus operators
FlixBus

One of Europe’s leading bus companies, Flixbus serves over 1400 destinations, in 26 countries including Germany, France, Italy, Austria, the Netherlands, Croatia, Spain, and across Scandinavia and central and eastern Europe. Founded in 2012, Flixbus’ extensive network connects cities with approximately 200,000 trips, with buses often departing every 30 minutes. One of the most affordable ways to get around Europe (and expanding soon into the US), a Flixbus journey is cost-effective, well-connected, comfortable and safe.

Rome2rio's guide to FlixBus
Contact Details
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Milan, Milan to Florence, Florence
Ave. Duration
3 h 45 min
Frequency
Once daily
Estimated price
$17 - $28
Website
flixbus.co.uk
Baltour
Phone
+39 0861 1991900
Email
info@baltour.it
Website
baltour.it
Night bus from Milano - Autostazione San Donato to FIRENZE - Autostazione SITA via S.Caterina da Siena17
Ave. Duration
3 h 30 min
Frequency
Once daily
Estimated price
$16 - $22
Website
http://www.baltour.it/
Other operators
BlaBlaCar

A ridesharing platform with 40 million users, Blablacar gives you access to destinations without worrying about on-the-road chaos. 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 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
3 h 52 min
Frequency
Hourly
Estimated price
$20
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.

More Questions & Answers

Milan to Florence train services, operated by Trenitalia Frecce, arrive at Firenze S.Maria Novella station.

More details

Yes, the driving distance between Milan to Florence is 302 km. It takes approximately 2 h 53 min to drive from Milan to Florence.

Get driving directions

KLM, Iberia, Air France and two other airlines offer flights from Milan Linate Airport to Florence Airport.

Search flights

Book your Milan to Florence train tickets online with Rome2rio.

Search and book

There are 5432+ hotels available in Florence. Prices start at $68 USD per night.

More details

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.

Read Rome2rio's guide to Blablacar

The best way to get from Milan to Milan Linate Airport is to line 73 bus which takes 20 min and costs .

More details