Travel Information
Compare train, bus, and flight for Nice to Milan
Omio recommends booking the train as it is the most popular option from Nice to Milan among Omio's users. If you are prioritising price take the bus with prices starting from $22. For those with little time consider booking a flight which can get you there in 3h 18m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.1 - 0.2kg. The ticket price range depends on the travel mode: a bus costs an average of $22, and a flight costs an average of $88.
Distance: 154 miles (248 km)
Compare train with
Most popular Train | Bus | Flight | Driving |
|---|---|---|---|
$172 Average price | $43 Average price Cheapest | $310 Average price | $117 Average price (fuel + tolls) |
7h 54m Average total duration 7h 24m Onboard + 30m Additional time* | 5h 44m Average total duration 5h 14m Onboard + 30m Additional time* | 6h 18m Average total duration Fastest 3h 18m Onboard + 3h 0m Additional time* | 4h 11m Average total duration (door-to-door) |
0.1 - 0.2kg CO2 emissions Lowest | 0.2 - 0.6kg CO2 emissions | 0.7 - 1.5kg CO2 emissions | - CO2 emissions |
![]() Most popular train company | ![]() Most popular bus 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.
This is compared to other travel options from Nice to Milan:
A bus is $129 (€104) less than a train for this route with tickets for a train from Nice to Milan costing on average $172 (€139).
A bus is $267 (€216) less than a flight for this route with tickets for a flight from Nice to Milan costing on average $310 (€250).
Other travel options to Milan take longer:
Bus takes on average 5h 14m.
Train takes on average 7h 24m.
Travel optionsfrom Nice to Milan
How to get from Nice to Milan by train, bus or flight.
Our recommendation
The best way to travel from Nice to Milan is by taking a bus because it’s the best combination of price and speed.
47053:30 PM4h50Nice, Aéroport Nice Côte d'Azur (Gare routière - Terminal 1)8:20 PMMilano, Autostazione Lampugnano$331One-way0 transfers
Cheapest
47053:30 PM4h50Nice, Aéroport Nice Côte d'Azur (Gare routière - Terminal 1)8:20 PMMilano, Autostazione Lampugnano$331One-way0 transfers
Fastest
GF249:50 AM1h05Nice Cote d'Azur Airport10:55 AMMilan Malpensa Airport$1891One-way0 transfers
Other options
86043+
Regionale Veloce 3375 · Regionale Veloce 30422:22 PM6h33Nice-Ville8:55 PMMilan Rogoredo$441One-way2 transfers
86053+
Regionale Veloce 3379 · Regionale Veloce 30464:22 PM6h33Nice-Ville10:55 PMMilan Rogoredo$441One-way2 transfers
86055+
Regionale 12279 · Regionale Veloce 30474:53 PM6h42Nice-Ville11:35 PMMilan Centrale$441One-way2 transfers
47321:40 AM5h15Nice, Aéroport Nice Côte d'Azur (Gare routière - Terminal 1)6:55 AMMilano, Autostazione Lampugnano$331One-way0 transfers
Normal7:20 PM4h50Nice, Aéroport Nice Côte d'Azur12:10 AMMilano, Autostazione Lampugnano$331One-way0 transfers
47347:20 PM4h50Nice, Aéroport Nice Côte d'Azur (Gare routière - Terminal 1)12:10 AMMilano, Autostazione Lampugnano$401One-way0 transfers
VY1518 · VY633010:30 PM10h40Nice Cote d'Azur Airport9:10 AMMilan Malpensa Airport$1541One-way1 transfer
VY1518 · VY634010:30 PM13h05Nice Cote d'Azur Airport11:35 AMMilan Malpensa Airport$1541One-way1 transfer
EW425 · EW8263:05 PM4h45Nice Cote d'Azur Airport7:50 PMMilan Malpensa Airport$1801One-way1 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 train, bus, 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 27
May 28
May 29
May 30
May 31
Jun 01
Jun 02
Jun 03
Jun 04
Jun 05
Jun 06
Jun 07
Jun 08
Jun 09
Jun 10
Jun 11
Jun 12
Jun 13
Jun 14
Jun 15
Jun 16
How to get from Nice to Milan
The Best Way According to our Users
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Nice 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 Nice to Milan.

This is compared to other travel options from Nice to Milan:
A bus is $129 (€104) less than a train for this route with tickets for a train from Nice to Milan costing on average $172 (€139).
A bus is $267 (€216) less than a flight for this route with tickets for a flight from Nice to Milan costing on average $310 (€250).
Other travel options to Milan take longer:
Bus takes on average 5h 14m.
Train takes on average 7h 24m.
- Around 31 flights per day.
- Around 15 buses per day.
- Around 3 trains per day.
However, we recommend checking specific travel dates for your route between Nice and Milan as scheduled services by train, bus, and flight can vary by season or day of the week.
- Flights mostly depart from Nice Cote d'Azur Airport and arrive in Milan Malpensa Airport.
- Trains mostly depart from Ventimiglia station and arrive in Milan Centrale.
- Buses mostly depart from Nice, Aéroport Nice Côte d'Azur (Gare routière - Terminal 1) and arrive in Milano, Autostazione Lampugnano.
- Travel with Gulf Air, Vueling, Eurowings, Norwegian Air Shuttle, GetJet Airlines to go to Milan by flight.
- Travel with FlixBus, BlaBlaCar Bus, Union Ivkoni International, Alsa, BlaBlaCar, Union Ivkoni, Infobus, Sindbad, Lignes d'Azur to go to Milan by bus.
- Travel with Intercity, Regionale, Trenitalia, SNCF | TGV INOUI, SNCF | Intercités de nuit, Société Nationale des Chemins de fer Français (SNCF) to go to Milan by train.
- 0 direct flights per day with Gulf Air.
- 9 direct buses per day with FlixBus, BlaBlaCar Bus, Union Ivkoni International, Alsa, BlaBlaCar, Union Ivkoni, Infobus, Sindbad.
- 0 direct trains per day with Intercity, Regionale.
Travelling from Nice to Milan: related information
Here are some other resources that might have the information you need


