• Our partners include:

  • RailEurope
  • Deutsche Bahn
  • Trenitalia
  • SNCF
  • Flixbus
  • RENFE
  • Ouibus
  • BlaBlaCar
  • Booking.com
  • Skyscanner

There are 6 ways to get from Milan to Switzerland by train, bus, rideshare, car or plane

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Train  •  4 h 7 min

  1. Take the train from Milano Centrale to Zürich HB Eurocity / ...

$30 - $102

Cheapest option

Bus FlixBus  •  5 h 29 min

  1. Take the bus from Milan, Milan to Zurich 421 / ...

$20 - $62

4 alternative options

Bus Calanda Viaggi  •  7 h 10 min

  1. Take the bus from Mailand Molino Dorino to Zürich Zob Sihlquai

$34 - $50

Rideshare  •  3 h 42 min

  1. Take the rideshare from Milan to Zurich 178.3 miles

$21

Drive  •  3 h 13 min

  1. Drive from Milan to Zürich 179.1 miles

$40 - $65

Fly  •  2 h 42 min

  1. Fly from Milan Linate (LIN) to Geneva (GVA) LIN - GVA

$35 - $197

Questions & Answers

The cheapest way to get from Milan to Switzerland is to rideshare which costs 19€ and takes 3 h 42 min.

More details

The quickest way to get from Milan to Switzerland is to fly which costs 30€ - 180€ and takes 2 h 42 min.

More details

No, there is no direct train from Milan to Switzerland. However, there are services departing from Milano Centrale and arriving at Zürich Stadelhofen via Zürich HB. The journey, including transfers, takes approximately 4 h 7 min.

More details

The distance between Milan and Switzerland is 166 km. The road distance is 286.6 km.

Get driving directions

The best way to get from Milan to Switzerland without a car is to train which takes 4 h 7 min and costs 26€ - 90€.

More details

It takes approximately 4 h 7 min to get from Milan to Switzerland, including transfers.

More details

Milan to Switzerland train services, operated by Trenitalia Eurocity, depart from Milano Centrale station.

More details

The best way to get from Milan to Switzerland is to train which takes 4 h 7 min and costs 26€ - 90€. Alternatively, you can bus, which costs 17€ - 55€ and takes 5 h 29 min, you could also fly, which costs 30€ - 180€ and takes 2 h 42 min.

Mode details

The quickest flight from Milan Linate Airport to Geneva Airport is the direct flight which takes 55 min.

Search flights

Milan to Switzerland train services, operated by Trenitalia Eurocity, arrive at Zürich HB station.

More details

Map of how to get from Milan to Switzerland.
Launch map view
  • Distance: 103.6 miles
  • Duration: 4 h 7 min

What companies run services between Milan, Italy and Switzerland?

Trenitalia Eurocity operates a train from Milan to Zürich hourly. Tickets cost $21 - $90 and the journey takes 4 h 3 min. Alternatively, FlixBus operates a bus from Milan to Zürich hourly. Tickets cost $16 - $27 and the journey takes 4 h 15 min. Four other operators also service this route.

Airlines
Alitalia
Website
alitalia.com
Flights from Milan Linate to Geneva
Ave. Duration
55 min
When
Every day
Estimated price
$30 - $190
Train operators
Trenitalia Eurocity

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Milano Centrale to Zürich HB
Ave. Duration
4 h 3 min
Frequency
Hourly
Estimated price
$21 - $90
Website
orario.trenitalia.com
Standard
$21 - $90
First
$55 - $140
Bus operators
FlixBus

One of Europe’s leading bus companies, Flixbus serves over 1400 destinations, in 26 countries including Germany, France, Italy, Austria, the Netherlands, Croatia, Spain, and across Scandinavia and central and eastern Europe. Founded in 2012, Flixbus’ extensive network connects cities with approximately 200,000 trips, with buses often departing every 30 minutes. One of the most affordable ways to get around Europe (and expanding soon into the US), a Flixbus journey is cost-effective, well-connected, comfortable and safe.

Rome2rio's guide to FlixBus
Contact Details
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Milan, Milan to Zurich
Ave. Duration
4 h 15 min
Frequency
Hourly
Estimated price
$16 - $27
Website
flixbus.co.uk
Eurolines CH
Phone
0041 (0) 844 257 224
Website
eurolines.ch
Bus from Milano Lampugnano to Zürich
Ave. Duration
4 h 25 min
Frequency
Once daily
Estimated price
$26 - $32
Book at
eurolines.ch
Marino Autolinee
Phone
+39 080 3112335
Email
info@marinobus.it
Website
marinobus.it
Bus from Milano Lampugnano to Zurigo
Ave. Duration
4 h 35 min
Frequency
Once daily
Estimated price
$21
Schedules at
marinobus.it
Ouibus

As the bus subsidiary of French railway SNCF, Ouibus offers comfortable, eco-friendly coaches serving 35 French cities and 11 European cities at affordable fares. Ouibus journeys are safe and comfortable, with the four-star coaches offering power outlets, restrooms and WiFi. All Ouibus stations are located close to town centres for easy access to public transport. Getting on one of the 130 daily journeys is easy - electronic travel documents include your ticket and a personalised mini-guide with handy information.

Contact Details
Phone
0890715298
Website
ouibus.com
Bus from Milan to Zürich
Ave. Duration
4 h 35 min
Frequency
Once daily
Estimated price
$10 - $15
Website
Ouibus
Calanda Viaggi
Website
calandaviaggi.com
Bus from Mailand Molino Dorino to Zürich Zob Sihlquai
Ave. Duration
5 h 35 min
Frequency
4 times a week
Estimated price
$30 - $45
Schedules at
calandaviaggi.com
Other operators
BlaBlaCar

A ridesharing platform with 40 million users, Blablacar gives you access to destinations without worrying about on-the-road chaos. The basic idea is that you carpool with locals who are already planning to drive your route and have space in their car. With some flexibility you’ll get to your destination – often faster and cheaper than other means. On the website or app, enter your departure and arrival points and your date of travel, sift through the profiles of drivers who’ve posted pre-planned drives and find one whose timing and preferences match yours. Request to join the ride, wait be accepted, and pay your share of the set price.

Rome2rio's guide to BlaBlaCar
Contact Details
Website
blablacar.com
Rideshare from Milan to Zurich
Ave. Duration
3 h 42 min
Frequency
Twice daily
Estimated price
$21
Book at
blablacar.co.uk

Want to know more about travelling around Switzerland

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.

More Questions & Answers

Yes, the driving distance between Milan to Switzerland is 287 km. It takes approximately 3 h 13 min to drive from Milan to Switzerland.

Get driving directions

Alitalia offers flights from Milan Linate Airport to Geneva Airport.

Search flights

Book your Milan to Switzerland train tickets online with Rome2rio.

Search and book

There are 634+ hotels available in Switzerland. Prices start at $82 USD per night.

More details

Check out Blablacar's carpooling service for rideshare options between Milan and Switzerland. A great option if you don't have a driver's licence or want to avoid public transport.

Read Rome2rio's guide to Blablacar

The best way to get from Milan to Milan Linate Airport is to line 73 bus which takes 19 min and costs 1€ - 2€.

More details

Where to next?