Milan to Bari by train

Prices explained

Prices explained

At Rail Europe we believe in price transparency. We use real data from Rail Europe searches to estimate the cheapest fares you should be able to find for your journey.

The cheapest price is the lowest fare we've ever found for this journey. These prices can usually be found by searching when booking opens but they vary due to availability, which depends on factors like the day of the week or time of year.

More popular journeys include 30 day advance and 7 day advance prices. These are updated every two weeks using prices we've found by searching exactly 7 or 30 days from the most recent Thursday (we picked Thursday because this is when average prices are usually found).

30 day and 7 day prices fluctuate based on demand and availability at the time of search. For example, the 7-day price in summer is likely to be more expensive than the same journey in winter.

Prices are sourced in GBP and converted to other currencies using the daily market exchange rate.

We're always seeking to improve how price-checking works, and we welcome feedback on how we can make it better.

More advice about how to find the cheapest tickets can be found in our infographic.

  1. Cheapest Price $21.99
  2. 30 day advance $49.86
  • First train
  • Last train
  • Avg changes
  • Fastest journey
    6hr 40m
  • Distance
    785 kilometres
  • Trains per day
  • Avg. journey time
    8hr 28m
  • Train operators

Travelling from Milan to Bari by train

Fast trains from Milan to Bari take around 6 hours and 40 minutes, covering a distance of approximately 785 kilometres. There are frequent services on the rail route between Milan and Bari.

1. Are there direct trains from Milan to Bari?

Direct trains from Milan to Bari have been found.

We usually find around 15 direct trains on the route from Milan to Bari every weekday.

Trains are typically more frequent on weekends, when we found around 16 departures.

2. How long is the train journey from Milan to Bari?

The Milan to Bari train travel time is normally about 6 hours and 40 minutes, whatever time you make the journey.

3. What are the Milan to Bari train times and schedule?

On weekdays the earliest direct train to Bari is usually scheduled to depart Milan around 07:05 and the last train is around 20:50. At weekends the first train of the day leaves Milan around 06:00, and the last at 20:50.

What's the Milan to Bari train price?

The earlier you book the better, and the cheapest tickets we've found for trains from Milan to Bari are $21.99.

Trains departing 30 days in advance will cost around $49, and when booking 7 days in advance the price is usually the same. Booking on the day of travel may be more expensive.

When to book Milan to Bari train tickets?

Trains in Italy usually open for booking around 6 months in advance. If booking is not yet open for your dates then you can set a booking alert to receive an email on the day that the cheapest tickets are released for your journey from Milan to Bari by train.

Help with booking alerts

Which train companies operate between Milan and Bari?

More than one train company operates on the route from Milan to Bari, so you’ll be travelling with one or more of the following rail operators:

  • Frecciabianca
  • Frecciargento
  • Frecciarossa
  • IC Notte
  • InterCity

You can check which train you’ll be travelling on by looking for the train name in search results.

Bari to Milan by train

Other journeys to Bari View all journeys to Bari


A comfortable Frecciabianca train from Milan to Bari takes less than eight hours for the journey. Direct trains each day travel this route from Lombardy to Italy’s Adriatic coast. You can sometimes cut the journey time a little by taking a high-speed Frecciarossa train from Milan to Bologna, changing there onto the onward train to Bari. But that option often increases the overall fare, so you might prefer to sit back and enjoy the comfort of the direct Frecciabianca train.

In addition to the direct daytime Frecciabianca service, there is also a useful night train from Milan to Bari, with a choice of seats, couchettes or sleepers for the overnight trip. This night-time route is so popular that there are on many evenings a choice of two departures from Milan to Bari.

Milan Centrale to Bari Centrale

The journey by train from Milan to Bari is initially across the pancake-flat North Italian Plain, but in time the Apennine Hills appear away to the south. At Rimini, 3 hrs into the journey, the train reaches the coast. You’ll catch a glimpse of the mountainous Republic of San Marino to the right, with the Adriatic to your left. The Frecciabianca trains stop 12 to 16 times on the journey from Milan to Bari. They leave from Milano Centrale and arrive at Bari Centrale.

Buy train and bus tickets for UK and Europe - the easy way

  • Easy, fast and cheap
  • Pay in EUR, GBP, USD or CAD
  • Cheaper UK tickets with Pricehack

Subscribe to our newsletter

Subscribe to receive top tips, train news and travel inspiration straight to your inbox

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.