Travel Information
Compare bus, train, and flight 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 prices starting from $26. For those with little time consider booking a flight which can get you there in 1h 34m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.2 - 0.6kg. The ticket price range depends on the travel mode: a bus costs an average of $26, and a flight costs an average of $21.
Distance: 416 miles (671 km)
Compare bus with
Most popular Bus | Flight | Train | Driving |
|---|---|---|---|
$67 Average price Cheapest | $106 Average price | $103 Average price | $228 Average price (fuel + tolls) |
10h 53m Average total duration 10h 23m Onboard + 30m Additional time* | 4h 34m Average total duration Fastest 1h 34m Onboard + 3h 0m Additional time* | 8h 53m Average total duration 8h 23m Onboard + 30m Additional time* | 7h 31m Average total duration (door-to-door) |
0.7 - 1.7kg CO2 emissions | 2.0 - 4.0kg CO2 emissions | 0.2 - 0.6kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular airline | ![]() Most popular train company | 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.
This is compared to other travel options from San Giovanni Rotondo to Milan:
A bus is $36 (€29) less than a train for this route with tickets for a train from San Giovanni Rotondo to Milan costing on average $103 (€83).
A bus is $39 (€31) less than a flight for this route with tickets for a flight from San Giovanni Rotondo to Milan costing on average $106 (€85).
Other travel options to Milan take longer:
Train takes on average 8h 23m.
Bus takes on average 10h 23m.
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 flight because it’s the best combination of price and speed.
FR 413111:30 PM1h30Bari Palese Airport1:00 AMMilan Bergamo Orio al Serio Airport$251One-way0 transfers
Cheapest
FR 413111:30 PM1h30Bari Palese Airport1:00 AMMilan Bergamo Orio al Serio Airport$251One-way0 transfers
Fastest
AZ16509:30 PM1h25Bari Palese Airport10:55 PMMilan Linate Airport$891One-way0 transfers
Other options
99288:15 AM7h05Foggia station3:20 PMMilan Centrale$741One-way0 transfers
FlixBus · FlixBus11:35 PM13h50San Giovanni Rotondo, Piazza Europa (Ufficio Postale Poste Italiane)1:25 PMMilano, Autostazione Lampugnano$511One-way1 transfer
FlixBus · FlixBus · FlixBus11:35 PM15h00San Giovanni Rotondo, Piazza Europa (Ufficio Postale Poste Italiane)2:35 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)$571One-way2 transfers
210 · 2007:25 AM11h15San Giovanni Rotondo, P.zza Europa (Bar Villa)6:40 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)$761One-way1 transfer
FR 36547:30 PM1h30Bari Palese Airport9:00 PMMilan Bergamo Orio al Serio Airport$581One-way0 transfers
FR 277111:00 PM1h40Bari Palese Airport12:40 AMMilan Malpensa Airport$631One-way0 transfers
FR 46592:20 PM1h30Bari Palese Airport3:50 PMMilan Bergamo Orio al Serio Airport$711One-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 bus, train, and flight 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.
May 16
May 17
May 18
May 19
May 20
May 21
May 22
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 $36 (€29) less than a train for this route with tickets for a train from San Giovanni Rotondo to Milan costing on average $103 (€83).
A bus is $39 (€31) less than a flight for this route with tickets for a flight from San Giovanni Rotondo to Milan costing on average $106 (€85).
Other travel options to Milan take longer:
Train takes on average 8h 23m.
Bus takes on average 10h 23m.
- Around 21 flights per day.
- Around 14 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, train, and flight can vary by season or day of the week.
- Trains mostly depart from Manfredonia and arrive in Milan Centrale.
- Buses mostly depart from San Giovanni Rotondo, Piazza Europa (Ufficio Postale Poste Italiane) and arrive in Milano, San Donato - Settore B (Viale Giuseppe Impastato).
- Flights mostly depart from Bari Palese Airport and arrive in Milan Linate Airport.
- Travel with Marino Autolinee, Ferrovie del Gargano, FlixBus, BlaBlaCar to go to Milan by bus.
- Travel with ITA, Malta Air, Ryanair, easyJet to go to Milan by flight.
- Travel with Italo, Intercity Notte to go to Milan by train.
- 2 direct buses per day with BlaBlaCar.
- 10 direct flights per day with Malta Air.
Travelling from San Giovanni Rotondo to Milan: related information
Here are some other resources that might have the information you need
