Travel optionsfrom Milan to San Giovanni Rotondo
How to get from Milan to San Giovanni Rotondo by train, bus or flight.
Our recommendation
The best way to travel from Milan to San Giovanni Rotondo is by taking a train because it’s the best combination of price and speed.
99391:40 PM7h05Milan Centrale8:45 PMFoggia station$741One-way0 transfers
Cheapest
99391:40 PM7h05Milan Centrale8:45 PMFoggia station$741One-way0 transfers
Fastest
AZ16397:25 PM1h25Milan Linate Airport8:50 PMBari Palese Airport$1441One-way0 transfers
Other options
Intercity 607+
Regionale 44719:10 AM9h18Milan Porta Garibaldi6:28 PMManfredonia$871One-way1 transfer
Intercity 605+
Regionale 44697:05 AM9h55Milan Centrale5:00 PMManfredonia$871One-way1 transfer
FRECCIAROSSA 8807+
Regionale 447111:35 AM6h53Milan Centrale6:28 PMManfredonia$1221One-way1 transfer
201 · 2119:10 AM11h20Milano, San Donato - Settore B (Viale Giuseppe Impastato)8:30 PMSan Giovanni Rotondo, P.zza Europa (Bar Villa)$771One-way1 transfer
201 · 2119:10 AM11h25Milano, San Donato - Settore B (Viale Giuseppe Impastato)8:35 PMSan Giovanni Rotondo, Piazza Forgione$771One-way1 transfer
201 · 2118:25 AM12h05Milano, Autostazione Lampugnano8:30 PMSan Giovanni Rotondo, P.zza Europa (Bar Villa)$771One-way1 transfer
FR 41322:10 PM1h30Milan Bergamo Orio al Serio Airport3:40 PMBari Palese Airport$1021One-way0 transfers
FR 36537:15 AM1h30Milan Bergamo Orio al Serio Airport8:45 AMBari Palese Airport$1061One-way0 transfers
FR 46588:55 PM1h30Milan Bergamo Orio al Serio Airport10:25 PMBari Palese Airport$1071One-way0 transfers
Find all the dates and times for this journey by train, bus, flight, and ferry .
Travel Information
Compare bus, train, and flight for Milan to San Giovanni Rotondo
Omio recommends booking the bus as it is the most popular option from Milan to San Giovanni Rotondo among Omio's users. If you are prioritising price take the bus with prices starting from $36. For those with little time consider booking a flight which can get you there in 1h 31m. 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 $36, and a train costs an average of $55.
Distance: 416 miles (671 km)
Compare bus with
Most popular Bus | Train | Flight |
|---|---|---|
$66 Average price Cheapest | $114 Average price | $106 Average price |
11h 32m Average total duration 11h 2m Onboard + 30m Additional time* | 8h 37m Average total duration 8h 7m Onboard + 30m Additional time* | 4h 31m Average total duration Fastest 1h 31m Onboard + 3h 0m Additional time* |
0.7 - 1.7kg CO2 emissions | 0.2 - 0.6kg CO2 emissions Lowest | 2.0 - 4.0kg CO2 emissions |
![]() Most popular bus company | ![]() Most popular train company | ![]() Most popular airline |
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 Milan to San Giovanni Rotondo:
A bus is $40 (€32) less than a flight for this route with tickets for a flight from Milan to San Giovanni Rotondo costing on average $106 (€86).
A bus is $48 (€39) less than a train for this route with tickets for a train from Milan to San Giovanni Rotondo costing on average $114 (€93).
Other travel options to San Giovanni Rotondo take longer:
Train takes on average 8h 7m.
Bus takes on average 11h 2m.
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.
Aug 03
Aug 04
Aug 05
Aug 06
Aug 07
Aug 08
Aug 09
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Milan 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 Milan to San Giovanni Rotondo.

This is compared to other travel options from Milan to San Giovanni Rotondo:
A bus is $40 (€32) less than a flight for this route with tickets for a flight from Milan to San Giovanni Rotondo costing on average $106 (€86).
A bus is $48 (€39) less than a train for this route with tickets for a train from Milan to San Giovanni Rotondo costing on average $114 (€93).
Other travel options to San Giovanni Rotondo take longer:
Train takes on average 8h 7m.
Bus takes on average 11h 2m.
- Around 28 flights per day.
- Around 15 buses per day.
- Around 3 trains per day.
However, we recommend checking specific travel dates for your route between Milan and San Giovanni Rotondo as scheduled services by bus, train, and flight can vary by season or day of the week.
- Flights mostly depart from Milan Linate Airport and arrive in Bari Palese Airport.
- Trains mostly depart from Milan Centrale and arrive in Foggia station.
- Buses mostly depart from Milano, San Donato - Settore B (Viale Giuseppe Impastato) and arrive in San Giovanni Rotondo, Piazza Europa (Ufficio Postale Poste Italiane).
- Travel with Ferrovie del Gargano, Marino Autolinee, FlixBus to go to San Giovanni Rotondo by bus.
- Travel with Italo, Intercity to go to San Giovanni Rotondo by train.
- Travel with Aeroitalia, Malta Air, Ryanair, ITA, easyJet to go to San Giovanni Rotondo by flight.
- 2 direct trains per day with Italo.
- 9 direct flights per day with Aeroitalia, Malta Air, Ryanair, ITA, easyJet.
Travelling from Milan to San Giovanni Rotondo: related information
Here are some other resources that might have the information you need


