Travel Information
Compare for San Donato Milanese to San Giovanni Rotondo
Omio recommends booking the bus as it is the most popular option from San Donato Milanese to San Giovanni Rotondo among Omio's users. If you are prioritising price, take the bus, with an average ticket price of €60 For those with little time, consider booking a flight, which has an average total journey time of 3h 55m. Average ticket prices depend on the travel mode: a bus costs an average of €60, while a flight costs an average of €170.
Distance: 412 miles (664 km)
Compare bus with
Most popular Bus | Train | Flight | Driving |
|---|---|---|---|
€60 Average price Cheapest | €80 Average price | €170 Average price | €126 Average price (fuel + tolls) |
12h 0m Average total duration 11h 30m Onboard + 30m Additional time* | 7h 35m Average total duration 7h 5m Onboard + 30m Additional time* | 3h 55m Average total duration Fastest 1h 55m Onboard + 2h 0m Additional time* | 7h 1m Average total duration (door-to-door) |
![]() Most popular bus company | ![]() Most popular train company | ![]() Most popular airline | Your own car or car rental |
Direct Options | Direct Options | Direct Options | Direct Options |
Compare ways to travel from San Donato Milanese to San Giovanni Rotondo
Compare the available ways to get from San Donato Milanese to San Giovanni Rotondo, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from San Donato Milanese to San Giovanni Rotondo:
A bus is €21 less than a train for this route with tickets for a train from San Donato Milanese to San Giovanni Rotondo costing on average €80.
A bus is €111 less than a flight for this route with tickets for a flight from San Donato Milanese to San Giovanni Rotondo costing on average €170.
Other travel options to San Giovanni Rotondo take longer:
Train takes on average 7h 35m.
Bus takes on average 12h 0m.
Tickets start at around €60 compared to roughly €126 in fuel and tolls — a saving of about €66. The journey takes 11h 30m versus 7h 1m 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 San Donato Milanese to San Giovanni Rotondo
How to get from San Donato Milanese to San Giovanni Rotondo by train, bus or flight.
Our recommendation
The best way to travel from San Donato Milanese to San Giovanni Rotondo is by taking a bus because it’s the best combination of price and speed.

6:05 PM 9h30 San Donato Milanese 3:35 AM San Giovanni Rotondo €40 1 One-way 0 transfers
Cheapest

6:05 PM 9h30 San Donato Milanese 3:35 AM San Giovanni Rotondo €40 1 One-way 0 transfers
Fastest

6:05 PM 9h30 San Donato Milanese 3:35 AM San Giovanni Rotondo €40 1 One-way 0 transfers
Other options

4:50 AM 13h35 San Donato Milanese 6:25 PM San Giovanni Rotondo €54 1 One-way 0 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 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.
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from San Donato Milanese to San Giovanni Rotondo
Travel to San Giovanni Rotondo 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 San Donato Milanese to San Giovanni Rotondo.

This is compared to other travel options from San Donato Milanese to San Giovanni Rotondo:
A bus is €21 less than a train for this route with tickets for a train from San Donato Milanese to San Giovanni Rotondo costing on average €80.
A bus is €111 less than a flight for this route with tickets for a flight from San Donato Milanese to San Giovanni Rotondo costing on average €170.
Other travel options to San Giovanni Rotondo take longer:
Train takes on average 7h 35m.
Bus takes on average 12h 0m.
- Around 25 flights per day.
- Around 8 buses per day.
- Around 1 trains per day.
However, we recommend checking specific travel dates for your route between San Donato Milanese and San Giovanni Rotondo as scheduled services by can vary by season or day of the week.
- Trains mostly depart from Milan Centrale and arrive in Foggia station.
- Flights mostly depart from Milan Linate Airport and arrive in Bari Palese Airport.
- Buses mostly depart from Milano, San Donato - Settore B (Viale Giuseppe Impastato) and arrive in San Giovanni Rotondo, Piazza Forgione.
- Travel with Marino Autolinee, FlixBus, Itabus, Ferrovie del Gargano to go to San Giovanni Rotondo by bus.
- Travel with ITA, Malta Air, easyJet, Aeroitalia to go to San Giovanni Rotondo by flight.
- Travel with Italo to go to San Giovanni Rotondo by train.
- 1 direct buses per day with Itabus.
- 12 direct flights per day with ITA, Malta Air, easyJet, Aeroitalia.
- 1 direct trains per day with Italo.
Travelling from San Donato Milanese to San Giovanni Rotondo: related information
Here are some other resources that might have the information you need



