Bari to Milan by train

Compare prices, times and book fast direct trains

Overview: trains from Bari to Milan

Find the key information for travelling by train from Bari to Milan, including journey times, fares and operators serving the route. Compare your options and plan the journey that works for you with Rail Europe.

First train 05:20 View journey
Last train 22:35 View journey
Avg changes 0
Fastest journey 6hr 45m View journey
Distance (km) 785
Trains / day 33 View all
Cheapest journey CA$4.55 View journey
Avg journey time 8hr 17m
Train operators 9

Travelling from Bari to Milan by train

Want to know how to get from Bari to Milan by train? We have gathered for you all the useful information about this trip!

The fastest trains from Bari to Milan take around 6 hours and 45 minutes, covering a distance of approximately 785 kilometres.

On weekdays, the first train leaving Bari is scheduled to depart at around  05:20. The last departure is usually at around 21:45. This is the same as during the weekend. There are frequent services on this particular rail route. On average, there are about 33 trains per day travelling between the two cities. They leave approximately every 18 minutes.

Prices for a single ticket between the two cities start from CA$4.55.

We think any time is a great time to visit Milan, as each season has its own unique charm. Nevertheless, please make sure you check the local weather and average seasonal temperatures at destination before deciding on your holiday.

For more tips to help you plan your journey, check out our help articles, or read our guide to Milan.

Is there a direct train from Bari to Milan?

Yes, there is a direct train from Bari to Milan.

How long does it take to travel from Bari to Milan?

The Bari to Milan train travel takes about 6 hours and 45 minutes, no matter when you leave.

What are the Bari to Milan train times and schedule?

If you're travelling on a weekday, you'll find the earliest train to Milan leaving Bari at around 05:20 and the last train leaving at around 21:45. This is the same at the weekend.

230+ European rail operators Official partner of 230+ European rail operators

Sncf Eurostar Deutsche Bahn Trenitalia National Rail ÖBB Renfe SBB
Interrail Eurail TGV Lyria Swiss Travel System Italo Iryo Alleo OUIGO RegioJet

Travellers rate us "Excellent!"

Child and youth passengers

The definition of "Child" and "Youth" varies by country and operator. This is why we ask for the age of young passengers.

Sometimes children below a certain age can travel without a seat for free. If you want to guarantee a seat for child passengers, enter '6' as the age of the child.

Read more about child and youth passenger ages. See also youth discounts and railcards.