Florence and Milan, two major Italian hubs, are well-connected by high-speed trains. Multiple trains make the 190-mile (305 km) trip throughout the day, a two-hour journey served by Italy's two major rail companies. Make sure to avoid Trenitalia's slower regionale train, which will take over five hours.
Private transfer is a convenient option—the most straightforward drive takes around four hours on major highways. A more scenic route exists, though it's considerably longer. Driving a rental car isn't recommended, as both Florence and Milan are notorious for their limited driving zones (ZTL), which restrict driving for non-residents, and parking is difficult.
Bus travel is relatively convenient, but the drop-off in Milan is outside the city center, so you would need to take a taxi or the metro from there.
Duration: 1.5-2 hours
This is the most convenient way to get from Florence to Milan. Direct high-speed trains between the two major cities are frequent throughout the day and are run by both Trenitalia and Italo. Both Florence and Milan have more than one train station, but the major stations with frequent high-speed routes are Florence's Firenze Santa Maria Novella and Milan's Milano Centrale (make sure to enter these Italian names if looking to purchase online).
Most trains stop in Bologna, so if this medieval city is on your radar, you can choose to break your trip into two tickets instead of one for a detour towards a plate of tagliatelle al ragu (find more ideas in this 7-day Food & Wine itinerary).
Both Trenitalia and Italo high-speed trains are comfortable and equipped with air conditioning, electrical sockets, and clean restrooms. Italy's high-speed train tickets have a similar pricing structure to flights—you can choose to purchase your ticket in advance and pay a very low rate for the super-economy option that is generally non-modifiable, or purchase the ticket the same day at a higher cost.
Though you can choose to take Trenitalia's slower regionale train option, it is not recommended to do so as the trip would take over five hours and require up to three transfers.
By Private Transfer or Rental Car
Duration: 3.5-4 hours
Private transfer comfortably gets you from Florence to Milan on your own schedule and grants you the possibility to add stops whenever desired. You'll take the A1 highway, also known as the Autostrada del Sole, or "Motorway of the Sun." Completed in 1964, it is the oldest highway in Europe.
Stops you can make on the way from Florence to Milan include the culinary hotspots of Bologna, Modena, and Parma. Keep in mind that rush hour in Milan can be quite heavy, and avoid getting into the city around that time if possible.
If you opt to drive yourself, note that both cities have plenty of ZTL zones (restricted driving zones) where non-residents cannot enter with a car. Moreover, parking is notoriously difficult in both city centers. That said, driving in northern Italy is generally safe and there are no major surprises in terms of local driving customs.
Duration: 3-4.5 hours
This is a budget-friendly way to travel between Florence and Milan (3.5-4 hours) with Europe's low-cost bus operator Flixbus. Options are frequent and direct.
The pick-up point in Florence is at Villa Costanza and in Milan, the drop-off point is typically in Lampugnano (some options may drop you off in San Donato instead). Though Lampugnano is considered somewhat far from Milan's city center, it still takes under 20 minutes to get to major landmarks.
Lampugnano includes a taxi station but if you'd like to to take public transportation instead, the Lampugnano bus station is also a metro station on Milan's red line (the M1), which connects you to major landmark stations such as Cadorna, Duomo, San Babila and Porta Venezia with no changes.