Travel Information
Compare train for Bari to San Donato Milanese
Omio recommends booking the bus as it is the most popular option from Bari to San Donato Milanese among Omio's users. If you are prioritising price, take the bus, with an average ticket price of $73 For those with little time, consider booking a train, which has an average total journey time of 9h 40m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.2 - 0.7kg. Average ticket prices depend on the travel mode: a bus costs an average of $73, while a train costs an average of $115.
Distance: 483 miles (778 km)
Compare bus with
Most popular Bus | Train | Driving |
|---|---|---|
$73 Average price Cheapest | $115 Average price | $262 Average price (fuel + tolls) |
13h 15m Average total duration 12h 45m Onboard + 30m Additional time* | 9h 40m Average total duration Fastest 9h 10m Onboard + 30m Additional time* | 9h 25m Average total duration (door-to-door) |
0.8 - 1.9kg CO2 emissions | 0.2 - 0.7kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular bus company | Your own car or car rental | |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Bari to San Donato Milanese:
A bus is $42 less than a train for this route with tickets for a train from Bari to San Donato Milanese costing on average $115.
A bus is $159 less than a flight for this route with tickets for a flight from Bari to San Donato Milanese costing on average $231.
Other travel options to San Donato Milanese take longer:
Train takes on average 9h 40m.
Bus takes on average 13h 15m.
Tickets start at around $73 compared to roughly $262 in fuel and tolls — a saving of about $190. The journey takes 12h 45m versus 9h 25m by car, so you'll arrive a bit later, but you can use the time productively rather than spending it behind the wheel. No parking to sort, no fuel stops, and most coaches have Wi-Fi and power outlets.
Driving is worth considering if you're on a tight schedule, travelling as a group (where fuel costs split several ways), or want the flexibility to stop along the way.
Travel optionsfrom Bari to San Donato Milanese
How to get from Bari to San Donato Milanese by train, bus or flight.
Our recommendation
The best way to travel from Bari to San Donato Milanese is by taking a bus because it’s the best combination of price and speed.
5:20 AM16h29Bari9:49 PMSan Donato Milanese$381One-way0 transfers
Cheapest
5:20 AM16h29Bari9:49 PMSan Donato Milanese$381One-way0 transfers
Fastest
5:15 AM11h25Bari4:40 PMSan Donato Milanese$461One-way0 transfers
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Sep 20
Sep 21
Sep 22
Sep 23
Sep 24
Sep 25
Sep 26
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Bari to San Donato Milanese
Travel to San Donato Milanese easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Bari to San Donato Milanese.

This is compared to other travel options from Bari to San Donato Milanese:
A bus is $42 less than a train for this route with tickets for a train from Bari to San Donato Milanese costing on average $115.
A bus is $159 less than a flight for this route with tickets for a flight from Bari to San Donato Milanese costing on average $231.
Other travel options to San Donato Milanese take longer:
Train takes on average 9h 40m.
Bus takes on average 13h 15m.
- Around 19 flights per day.
- Around 17 buses per day.
- Around 3 trains per day.
However, we recommend checking specific travel dates for your route between Bari and San Donato Milanese as scheduled services by train can vary by season or day of the week.
- Buses mostly depart from Bari, Via Capruzzi (Terminal Bus Bari) and arrive in Milano, San Donato - Settore B (Viale Giuseppe Impastato).
- Trains mostly depart from Bari Centrale and arrive in Milan Rogoredo.
- Flights mostly depart from Bari Palese Airport and arrive in Milan Linate Airport.
- Travel with Marino Autolinee, FlixBus, Itabus to go to San Donato Milanese by bus.
- Travel with Intercity, Frecciarossa, Italo, Intercity Notte to go to San Donato Milanese by train.
- Travel with Malta Air, ITA, easyJet, Luxair to go to San Donato Milanese by flight.
- 7 direct buses per day with Marino Autolinee, FlixBus, Itabus.
- 1 direct trains per day with Frecciarossa, Italo.
- 8 direct flights per day with Malta Air, ITA, easyJet.
Travelling from Bari to San Donato Milanese: related information
Here are some other resources that might have the information you need
