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 $21. 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 $21, and a flight costs an average of $87.
Distance: 154 miles (248 km)
Compare train with
Most popular Train | Bus | Flight | Driving |
|---|---|---|---|
$170 Average price | $42 Average price Cheapest | $307 Average price | $115 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 $127 (€104) less than a train for this route with tickets for a train from Nice to Milan costing on average $170 (€139).
A bus is $264 (€216) less than a flight for this route with tickets for a flight from Nice to Milan costing on average $307 (€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 train because it’s the best combination of price and speed.
86055+
Regionale 12279 · Regionale Veloce 30474:53 PM6h42Nice-Ville11:35 PMMilan Centrale$441One-way2 transfers
Cheapest
86055+
Regionale 12279 · Regionale Veloce 30474:53 PM6h42Nice-Ville11:35 PMMilan Centrale$441One-way2 transfers
Fastest
AZ345 · AZ20923:20 PM3h20Nice Cote d'Azur Airport6:40 PMMilan Linate Airport$3131One-way1 transfer
Other options
86043+
Regionale Veloce 3375 · Regionale Veloce 30442:22 PM7h13Nice-Ville9:35 PMMilan Centrale$441One-way2 transfers
86053+
Regionale 12279 · Regionale Veloce 30474:22 PM7h13Nice-Ville11:35 PMMilan Centrale$441One-way2 transfers
86019+
Regionale 12267 · Regionale Veloce 30219:54 AM7h41Nice-Ville5:35 PMMilan Centrale$441One-way2 transfers
FlixBus · FlixBus8:50 AM6h20Nice, Gare Routière Vauban3:10 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)$491One-way1 transfer
FlixBus · FlixBus8:50 AM6h40Nice, Gare Routière Vauban3:30 PMMilano, Milan Linate Airport$491One-way1 transfer
FlixBus · FlixBus8:20 AM6h50Nice, Aéroport Nice Côte d'Azur (Gare routière - Terminal 1)3:10 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)$491One-way1 transfer
VY1518 · VY634210:50 PM14h20Nice Cote d'Azur Airport1:10 PMMilan Malpensa Airport$1781One-way1 transfer
VY1518 · VY633610:50 PM11h35Nice Cote d'Azur Airport10:25 AMMilan Malpensa Airport$2031One-way1 transfer
VY1518 · VY633010:50 PM11h10Nice Cote d'Azur Airport10:00 AMMilan Malpensa Airport$2111One-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.
Jun 18
Jun 19
Jun 20
Jun 21
Jun 22
Jun 23
Jun 24
Jun 25
Jun 26
Jun 27
Jun 28
Jun 29
Jun 30
Jul 01
Jul 02
Jul 03
Jul 04
Jul 05
Jul 06
Jul 07
Jul 08
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 $127 (€104) less than a train for this route with tickets for a train from Nice to Milan costing on average $170 (€139).
A bus is $264 (€216) less than a flight for this route with tickets for a flight from Nice to Milan costing on average $307 (€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 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.
- 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.
- 0 direct trains per day with Intercity, Regionale.
- 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.
Travelling from Nice to Milan: related information
Here are some other resources that might have the information you need


