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 an average ticket price of €68 For those with little time, consider booking a flight, which has an average total journey time of 3h 58m. 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 €68, while a flight costs an average of €193.
Distance: 416 miles (671 km)
Compare bus with
Most popular Bus | Train | Flight |
|---|---|---|
€68 Average price Cheapest | €82 Average price | €193 Average price |
12h 29m Average total duration 11h 59m Onboard + 30m Additional time* | 8h 2m Average total duration 7h 32m Onboard + 30m Additional time* | 3h 58m Average total duration Fastest 1h 58m Onboard + 2h 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.
Compare ways to travel from Milan to San Giovanni Rotondo
Compare the available ways to get from Milan to San Giovanni Rotondo, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from Milan to San Giovanni Rotondo:
A bus is €15 less than a train for this route with tickets for a train from Milan to San Giovanni Rotondo costing on average €82.
A bus is €125 less than a flight for this route with tickets for a flight from Milan to San Giovanni Rotondo costing on average €193.
Other travel options to San Giovanni Rotondo take longer:
Train takes on average 8h 2m.
Bus takes on average 12h 29m.
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 bus because it’s the best combination of price and speed.

8:20 AM 20h00 Milan 4:20 AM San Giovanni Rotondo €43 1 One-way 0 transfers
Cheapest

8:20 AM 20h00 Milan 4:20 AM San Giovanni Rotondo €43 1 One-way 0 transfers
Fastest

7:55 PM 9h35 Milan 5:30 AM San Giovanni Rotondo €63 1 One-way 0 transfers
Other options

6:15 AM 14h40 Milan 8:55 PM San Giovanni Rotondo €48 1 One-way 0 transfers
11:25 AM 17h55 Milan 5:20 AM San Giovanni Rotondo €52 1 One-way 0 transfers
10:25 AM 17h55 Milan 4:20 AM San Giovanni Rotondo €62 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 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.
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 €15 less than a train for this route with tickets for a train from Milan to San Giovanni Rotondo costing on average €82.
A bus is €125 less than a flight for this route with tickets for a flight from Milan to San Giovanni Rotondo costing on average €193.
Other travel options to San Giovanni Rotondo take longer:
Train takes on average 8h 2m.
Bus takes on average 12h 29m.
- Around 17 flights per day.
- Around 11 buses per day.
- Around 2 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, Autostazione Lampugnano and arrive in San Giovanni Rotondo, Piazza Forgione.
- Travel with ITA, Malta Air, easyJet, Luxair, Aeroitalia, BA Euroflyer, Avion Express Malta, Ryanair, Bulgaria Air, Neos Air to go to San Giovanni Rotondo by flight.
- Travel with Italo, Frecciarossa, Intercity, Intercity Notte to go to San Giovanni Rotondo by train.
- Travel with Marino Autolinee, FlixBus, Ferrovie del Gargano, Itabus to go to San Giovanni Rotondo by bus.
- 10 direct flights per day with ITA, Malta Air, easyJet, Aeroitalia, Ryanair, Neos Air.
- 1 direct trains per day with Italo.
- 0 direct buses per day with Itabus.
Travelling from Milan to San Giovanni Rotondo: related information
Here are some other resources that might have the information you need



