Buy train and bus tickets for UK and Europe - the easy way
Milan to Bari by train
-
First train07:05
-
Last train20:50
-
Avg changes0
-
Fastest journey6hr 40m
-
Distance785 kilometres
-
Trains per day15
-
Avg. journey time8hr 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.
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.
Other journeys to Bari View all journeys to Bari
-
From Rome From $12.89
-
From Bologna From $13.17
-
From Foggia From $9.52
-
From Caserta From $11.91
-
From Polignano a Mare From $3.08
-
From Lecce From $9.52
-
From Brindisi From $10.51
-
From Taranto From $9.66
-
From London From $137.27
-
From Paris From $63.03
-
From Pescara Centrale From $12.05
-
From Monopoli From $4.20
Frecciabianca
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.
-
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