The average train between San Giuliano Terme and Milan takes 4h 31m and the fastest train takes 3h 50m. There is a train service every few hours from San Giuliano Terme to Milan. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between San Giuliano Terme and Milan. The earliest departure is at 5:51 AM in the morning, and the last departure from San Giuliano Terme is at 9:58 PM which arrives into Milan at 9:05 AM. All services require a transfer at Pisa Centrale and take an average of 4h 31m. The schedules shown below are for the next available departures.


3h 59m • 2 changes


3h 50m • 2 changes


4h 29m • 2 changes


4h 6m • 2 changes


4h 9m • 2 changes


3h 59m • 2 changes


3h 50m • 2 changes


4h 29m • 2 changes


4h 9m • 2 changes


3h 59m • 2 changes


3h 50m • 2 changes


4h 29m • 2 changes


3h 50m • 2 changes


4h 7m • 2 changes


5h 7m • 2 changes


4h 21m • 2 changes
Want to know about travelling from San Giuliano Terme to Milan? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from San Giuliano Terme to Milan. However, there are services departing from San Giuliano Terme station and arriving at Milan station via Firenze S.M.N.. The journey, including transfers, takes approximately 4h 31m.
San Giuliano Terme to Milan train services, operated by Trenitalia, depart from Pisa Centrale station.
San Giuliano Terme to Milan train services, operated by Trenitalia, arrive at Milano Centrale station.
Book your San Giuliano Terme to Milan train tickets online with Trenitalia and Trenitalia Frecce.
The distance between San Giuliano Terme and Milan is 213.4 km. The road distance is 391 km.
You can take a train from S. Giuliano Terme to Milano Centrale via Pisa Centrale and Firenze S.M.N. in around 3h 57m.