There are 6 ways to get from Pistoia to Milan by train (Trenitalia), bus, 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.
Train
best- Take the train from Pistoia to Firenze S.M.N.train Re / ...
- Take the train from Firenze S.M.N. to Milano Centraletrain Fr
2h 53m€34–97Bus
cheapest- Take the bus from Prato to Milano, San Donato M3bus 518 / ...
5h 10m€27–48Drive 279.9 km
- Drive from Pistoia to Milancar 279.9 km
3h 41m€44–64Fly
- Fly from Florence Peretola Airport (FLR) to Milan Linate Airport (LIN)plane FLR - LIN
4h 55m€117–282Train via Milan Rogoredo
- Take the train from Pistoia to Firenze S.M.N.train Re / ...
- Take the train from Florence Santa Maria Novella to Milan Rogoredotrain 9962
4h 14m€39–82Train via Viareggio (Trenitalia)
- Take the train from Pistoia to Viareggiotrain Re
- Take the train from Viareggio to Milano Centraletrain Ic
5h 44m€38–98
Pistoia to Milan by train
Questions & Answers
The cheapest way to get from Pistoia to Milan is to bus which costs €26 - €50 and takes 5h 10m.
The fastest way to get from Pistoia to Milan is to train which takes 2h 53m and costs €30 - €100.
No, there is no direct bus from Pistoia to Milan. However, there are services departing from Pistoia and arriving at Milano, San Donato M3 via Prato. The journey, including transfers, takes approximately 5h 10m.
No, there is no direct train from Pistoia to Milan. However, there are services departing from Pistoia and arriving at Milano Centrale via Firenze S.M.N.. The journey, including transfers, takes approximately 2h 53m.
The distance between Pistoia and Milan is 338 km. The road distance is 279.9 km.
The best way to get from Pistoia to Milan without a car is to train which takes 2h 53m and costs €30 - €100.
It takes approximately 2h 53m to get from Pistoia to Milan, including transfers.
Pistoia to Milan bus services, operated by FlixBus, depart from Prato station.
Pistoia to Milan train services, operated by Trenitalia, depart from Pistoia station.
The best way to get from Pistoia to Milan is to train which takes 2h 53m and costs €30 - €100. Alternatively, you can bus, which costs €26 - €50 and takes 5h 10m, you could also fly, which costs €110 - €290 and takes 4h 55m.
What companies run services between Pistoia, Italy and Milan, Italy?
You can take a train from Pistoia to Milano Centrale via Firenze S.M.N. in around 2h 53m. Alternatively, FlixBus operates a bus from Prato to Milano, San Donato M3 twice daily. Tickets cost €25–45 and the journey takes 3h 50m.
- Website
- ita-airways.com
Flights from Florence Peretola Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 27m
- When
- Every day
- Estimated price
- €140–250
Flights from Florence Peretola Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €180–800
Flights from Florence Peretola Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 36m
- When
- Every day
- Estimated price
- €120–1,100
Flights from Florence Peretola Airport to Milan Linate Airport via Vienna
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- €110–400
- Website
- lufthansa.com
Flights from Florence Peretola Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €180–800
Flights from Florence Peretola Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- €140–250
Flights from Florence Peretola Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 36m
- When
- Every day
- Estimated price
- €120–1,100
- Website
- flexflight.dk
Flights from Florence Peretola Airport to Milan Linate Airport via Elba Island
- Ave. Duration
- 2h 30m
- When
- Friday
- Estimated price
- €45–550
Flights from Florence Peretola Airport to Milan Linate Airport via Cagliari
- Ave. Duration
- 4h 20m
- When
- Monday and Friday
- Estimated price
- €130–800
- Website
- polarair.ru
Flights from Florence Peretola Airport to Milan Linate Airport via Elba Island
- Ave. Duration
- 2h 30m
- When
- Friday
- Estimated price
- €45–550
- Website
- aeroitalia.com
Flights from Florence Peretola Airport to Milan Linate Airport via Cagliari
- Ave. Duration
- 4h 20m
- When
- Monday and Friday
- Estimated price
- €130–800
- Website
- airdolomiti.it
Flights from Florence Peretola Airport to Milan Linate Airport via Munich
- Ave. Duration
- 4h 25m
- When
- Saturday
- Estimated price
- €180–800
Flights from Florence Peretola Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 5h 30m
- When
- Every day
- Estimated price
- €220–1,100
- Website
- austrian.com
Flights from Florence Peretola Airport to Milan Linate Airport via Vienna
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- €110–400
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Pistoia to Firenze S.M.N.
- Ave. Duration
- 39 min
- Frequency
- Every 15 minutes
- Estimated price
- €4–7
- Website
- https://www.trenitalia.com/en.html
Train from Pistoia to Firenze S.M.N.
- Ave. Duration
- 39 min
- Frequency
- Every 15 minutes
- Estimated price
- €4–7
- Website
- https://www.trenitalia.com/en.html
Train from Pistoia to Viareggio
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- €8–14
- Website
- https://www.trenitalia.com/en.html
Train from Viareggio to Milano Centrale
- Ave. Duration
- 4h 9m
- Frequency
- Twice daily
- Estimated price
- €35–60
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Firenze S.M.N. to Milano Centrale
- Ave. Duration
- 1h 56m
- Frequency
- Hourly
- Estimated price
- €45–90
- Schedules at
- trenitalia.com
Train from Viareggio to Milano Centrale
- Ave. Duration
- 3h 28m
- Frequency
- Twice daily
- Estimated price
- €40–85
- Schedules at
- trenitalia.com
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Firenze S.M.N. to Milano Centrale
- Ave. Duration
- 2h 37m
- Frequency
- 4 times a day
- Estimated price
- €35–80
- Website
- https://www.italotreno.it/en
Train from Florence Santa Maria Novella to Milan Rogoredo
- Ave. Duration
- 2h 35m
- Frequency
- Once daily
- Estimated price
- €35–75
- Website
- https://www.italotreno.it/en
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Firenze S.M.N. to Milano Centrale
- Ave. Duration
- 3h 54m
- Frequency
- 3 times a day
- Estimated price
- €30–70
- Website
- https://www.trenitalia.com/en.html
Train from Viareggio to Milano Centrale
- Ave. Duration
- 3h 57m
- Frequency
- Hourly
- Estimated price
- €30–65
- Website
- https://www.trenitalia.com/en.html
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Prato to Milano, San Donato M3
- Ave. Duration
- 3h 50m
- Frequency
- Twice daily
- Estimated price
- €25–45
- Website
- https://www.flixbus.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
Italy Travel Guides
Read the travel guide
5 incredible day trips from Florence by train
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Pistoia to Milan bus services, operated by FlixBus, arrive at Milano, San Donato M3 station.
Pistoia to Milan train services, operated by Trenitalia, arrive at Firenze S.M.N. station.
Yes, the driving distance between Pistoia to Milan is 280 km. It takes approximately 3h 41m to drive from Pistoia to Milan.
Book your Pistoia to Milan train tickets online with Omio.
Book your Pistoia to Milan bus tickets online with Omio and FlixBus.
There are 14422+ hotels available in Milan.



















