Travel Information
Compare bus, flight, and train for San Giovanni Rotondo to Milan
Omio recommends booking the bus as it is the most popular option from San Giovanni Rotondo to Milan among Omio's users. If you are prioritising price, take the bus, with an average ticket price of $88 For those with little time, consider booking a flight, which has an average total journey time of 3h 54m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.2 - 0.6kg. Average ticket prices depend on the travel mode: a bus costs an average of $88, while a flight costs an average of $244.
Distance: 416 miles (671 km)
Compare bus with
Most popular Bus | Train | Flight | Driving |
|---|---|---|---|
$88 Average price Cheapest | $107 Average price | $244 Average price | $219 Average price (fuel + tolls) |
12h 0m Average total duration 11h 30m Onboard + 30m Additional time* | 8h 17m Average total duration 7h 47m Onboard + 30m Additional time* | 3h 54m Average total duration Fastest 1h 54m Onboard + 2h 0m Additional time* | 7h 31m Average total duration (door-to-door) |
0.7 - 1.7kg CO2 emissions | 0.2 - 0.6kg CO2 emissions Lowest | 2.0 - 4.0kg CO2 emissions | - CO2 emissions |
![]() 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 |
Additional time: Average total travel duration to departure point, security checks and transfers.
Compare ways to travel from San Giovanni Rotondo to Milan
Compare the available ways to get from San Giovanni Rotondo to Milan, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from San Giovanni Rotondo to Milan:
A bus is $19 less than a train for this route with tickets for a train from San Giovanni Rotondo to Milan costing on average $107.
A bus is $157 less than a flight for this route with tickets for a flight from San Giovanni Rotondo to Milan costing on average $244.
Other travel options to Milan take longer:
Train takes on average 8h 17m.
Bus takes on average 12h 0m.
Tickets start at around $88 compared to roughly $219 in fuel and tolls — a saving of about $132. The journey takes 11h 30m versus 7h 31m 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 Giovanni Rotondo to Milan
How to get from San Giovanni Rotondo to Milan by train, bus or flight.
Our recommendation
The best way to travel from San Giovanni Rotondo to Milan is by taking a bus because it’s the best combination of price and speed.
210 · 2007:25 AM 11h15 San Giovanni Rotondo, P.zza Europa (Bar Villa) 6:40 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) $69 1 One-way 1 transfer
Cheapest
210 · 2007:25 AM 11h15 San Giovanni Rotondo, P.zza Europa (Bar Villa) 6:40 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) $69 1 One-way 1 transfer
Fastest
99288:15 AM 7h05 Foggia station 3:20 PM Milan Centrale $114 1 One-way 0 transfers
Other options
99288:15 AM 7h26 Foggia station 3:41 PM Rho Fiera $114 1 One-way 0 transfers
210 · 2007:20 AM 11h20 San Giovanni Rotondo, Piazza Forgione 6:40 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) $69 1 One-way 1 transfer
210 · 2007:25 AM 12h00 San Giovanni Rotondo, P.zza Europa (Bar Villa) 7:25 PM Milano, Autostazione Lampugnano $69 1 One-way 1 transfer
210 · 2007:20 AM 12h05 San Giovanni Rotondo, Piazza Forgione 7:25 PM Milano, Autostazione Lampugnano $69 1 One-way 1 transfer
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 bus, flight, and 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.
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from San Giovanni Rotondo to Milan
Travel to Milan 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 Giovanni Rotondo to Milan.

This is compared to other travel options from San Giovanni Rotondo to Milan:
A bus is $19 less than a train for this route with tickets for a train from San Giovanni Rotondo to Milan costing on average $107.
A bus is $157 less than a flight for this route with tickets for a flight from San Giovanni Rotondo to Milan costing on average $244.
Other travel options to Milan take longer:
Train takes on average 8h 17m.
Bus takes on average 12h 0m.
- Around 17 flights per day.
- Around 10 buses per day.
- Around 4 trains per day.
However, we recommend checking specific travel dates for your route between San Giovanni Rotondo and Milan as scheduled services by bus, flight, and train can vary by season or day of the week.
- Flights mostly depart from Bari Palese Airport and arrive in Milan Linate Airport.
- Trains mostly depart from Manfredonia and arrive in Milan Centrale.
- Buses mostly depart from San Giovanni Rotondo, Piazza Forgione and arrive in Milano, Autostazione Lampugnano.
- Travel with ITA, Malta Air, easyJet, Aeroitalia, Luxair, BA Euroflyer, Avion Express Malta to go to Milan by flight.
- Travel with Frecciarossa, Italo, Intercity, Intercity Notte to go to Milan by train.
- Travel with Marino Autolinee, FlixBus, Ferrovie del Gargano to go to Milan by bus.
- 10 direct flights per day with ITA, Malta Air, easyJet, Aeroitalia.
- 1 direct trains per day with Italo.
Travelling from San Giovanni Rotondo to Milan: related information
Here are some other resources that might have the information you need


