The average train between Milan and Trani takes 8h 56m and the fastest train takes 7h. The train service runs several times per day from Milan to Trani. 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 5 times a day between Milan and Trani. The earliest departure is at 5:40 AM in the morning, and the last departure from Milan is at 10:05 PM which arrives into Trani at 6:52 AM. All services require a transfer, and take on average 8h 56m. The schedules shown below are for the next available departures.

9h 3m • 1 change

9h 5m • 1 change

7h 10m • 1 change

7h 35m • 1 change

9h 3m • 1 change

9h 5m • 1 change

7h 10m • 1 change

7h 35m • 1 change

9h 3m • 1 change

9h 5m • 1 change

7h 10m • 1 change

7h 35m • 1 change

9h 3m • 1 change

9h 5m • 1 change

7h 10m • 1 change

7h 35m • 1 change

9h 3m • 1 change

9h 5m • 1 change

7h 10m • 1 change

7h 35m • 1 change
Want to know about travelling from Milan to Trani? 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 Milan to Trani. However, there are services departing from Milan station and arriving at Trani station via Barletta. The journey, including transfers, takes approximately 8h 56m.
Milan to Trani train services, operated by Trenitalia Frecce, depart from Milano Centrale station.
Milan to Trani train services, operated by Trenitalia Frecce, arrive at Barletta station.
Book your Milan to Trani train tickets online with Trenitalia Frecce, Trenitalia and Trenitalia Intercity.
The distance between Milan and Trani is 746.1 km. The road distance is 1,001 km.
Trenitalia Frecce operates a train from Milano Centrale to Barletta hourly. Tickets cost €140–290 and the journey takes 7h 34m. Two other operators also service this route.