There are 6 ways to get from Genève (Station) to Milan by train (Trenitalia), bus, rideshare, plane, train, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Genève to Domodossolatrain Ec
- Take the train from Domodossola to Milano Centraletrain Ec
5h 16m€113–196Bus
cheapest- Take the bus from Geneva - Bus Station to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
6h 12m€21–40Rideshare
- Take the rideshare from Genève to Milan316.4 km
4h 19m€22–25Fly, train
- Fly from Geneva International Airport (GVA) to Milano Malpensa Airport (MXP)plane GVA - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
5h 59m€76–229Train via Milano P.Garibaldi
- Take the train from Genève to Domodossolatrain Ec
- Take the train from Domodossola to Milano P.Garibalditrain Re
5h 57m€97–141Drive 316.8 km
- Drive from Genève (Station) to Milancar 316.8 km
3h 32m€57–82
Genève (Station) to Milan by train
Comparing Your Travel Options
The cheapest way to get from Genève (Station) to Milan is to rideshare which costs €22 - €25 and takes 4h 19m.
The fastest way to get from Genève (Station) to Milan is to drive which takes 3h 32m and costs €55 - €85.
Yes, there is a direct bus departing from Geneva - Bus Station station and arriving at Milano, Autostazione Lampugnano. Services depart five times a day, and operate every day. The journey takes approximately 6h 5m.
No, there is no direct train from Genève (Station) to Milan. However, there are services departing from Genève and arriving at Milano Centrale via Domodossola. The journey, including transfers, takes approximately 5h 16m.
The distance between Genève (Station) and Milan is 364 km. The road distance is 316.8 km.
The best way to get from Genève (Station) to Milan without a car is to train which takes 5h 16m and costs €110 - €200.
It takes approximately 5h 16m to get from Genève (Station) to Milan, including transfers.
Genève (Station) to Milan bus services, operated by BlaBlaCar Bus, depart from Geneva - Bus Station.
Genève (Station) to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Genève station.
The best way to get from Genève (Station) to Milan is to train which takes 5h 16m and costs €110 - €200. Alternatively, you can bus, which costs €21 - €40 and takes 6h 12m.
What companies run services between Genève (Station), Switzerland and Milan, Italy?
You can take a train from Genève to Milano Centrale via Domodossola in around 5h 16m. Alternatively, BlaBlaCar Bus operates a bus from Geneva - Bus Station to Milano, Autostazione Lampugnano 5 times a day. Tickets cost €21–35 and the journey takes 6h 5m. FlixBus also services this route 5 times a week.
- Website
- swiss.com
Flights from Geneva International Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 13m
- When
- Every day
- Estimated price
- €80–290
Train from Genève to Domodossola
- Ave. Duration
- 2h 43m
- Frequency
- 4 times a day
- Estimated price
- €80–130
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Genève to Domodossola
- Ave. Duration
- 2h 43m
- Frequency
- 4 times a day
- Estimated price
- €80–130
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Geneva - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 6h 5m
- Frequency
- 5 times a day
- Estimated price
- €21–35
- Website
- BlaBlaCar Bus
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar
Rideshare from Genève to Milan
- Ave. Duration
- 4h 3m
- Frequency
- Twice daily
- Estimated price
- €22–25
- Schedules at
- BlaBlaCar
Want to know more about travelling around Italy
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Italy Travel Guides
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Booking & Getting There
Genève (Station) to Milan bus services, operated by BlaBlaCar Bus, arrive at Milano, Autostazione Lampugnano station.
Genève (Station) to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Domodossola station.
Yes, the driving distance between Genève (Station) to Milan is 317 km. It takes approximately 3h 32m to drive from Genève (Station) to Milan.
Book your Genève (Station) to Milan train tickets online with Omio.
Book your Genève (Station) to Milan bus tickets online with Omio and FlixBus.
There are 14004+ hotels available in Milan.
Check out Blablacar's carpooling service for rideshare options between Genève (Station) and Milan. A great option if you don't have a driver's licence or want to avoid public transport.









