There are 6 ways to get from Canton of St. Gallen to Milan by train, bus, 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  •  5 h 24 min

  1. Take the train from St. Gallen to Arth-Goldau 2-Y
  2. Take the train from Arth-Goldau to Milano Centrale Ec / ...

$40 - $55

Cheapest option

Bus RegioJet  •  5 h 30 min

  1. Take the bus from St.Gallen, Lagerstrasse to Milan, Terminal Bus di Lampugnano RegioJet

$14 - $19

4 alternative options

Bus Gruppo Di Maio  •  6 h 34 min

  1. Take the bus from St. Gallen to Grandate - Stazione

$24 - $39

Drive  •  3 h 42 min

  1. Drive from Sankt Gallen to Milan 208.1 miles

$50 - $75

Train, fly to Milan Malpensa  •  3 h 40 min

  1. Take the train from Rapperswil to Zürich HB
  2. Fly from Zurich (ZRH) to Milan Malpensa (MXP) ZRH - MXP

$105 - $333

Train, fly to Lugano  •  4 h 57 min

  1. Take the train from Rapperswil to Zürich HB
  2. Fly from Zurich (ZRH) to Lugano (LUG) ZRH - LUG
  3. Take the train from Lugano to Milano Centrale

$121 - $329

Questions & Answers

The cheapest way to get from Canton of St. Gallen to Milan is to bus which costs SFr 13 - SFr 18 and takes 5 h 30 min.

More details

The quickest way to get from Canton of St. Gallen to Milan is to train and fly which costs SFr 100 - SFr 320 and takes 3 h 40 min.

More details

No, there is no direct bus from Canton of St. Gallen to Milan. However, there are services departing from St.Gallen, Lagerstrasse and arriving at conciliazione m1 via lampugnano m1. The journey, including transfers, takes approximately 5 h 30 min.

More details

No, there is no direct train from Canton of St. Gallen to Milan. However, there are services departing from St. Gallen and arriving at Milano Centrale via Arth-Goldau. The journey, including transfers, takes approximately 5 h 24 min.

More details

The distance between Canton of St. Gallen and Milan is 188 km. The road distance is 332.9 km.

Get driving directions

The best way to get from Canton of St. Gallen to Milan without a car is to train which takes 5 h 24 min and costs SFr 35 - SFr 55.

More details

It takes approximately 5 h 24 min to get from Canton of St. Gallen to Milan, including transfers.

More details

Canton of St. Gallen to Milan bus services, operated by RegioJet, depart from St.Gallen, Lagerstrasse station.

More details

Map of how to get from Canton of St. Gallen to Milan.
Launch map view
  • Distance: 117.8 miles
  • Duration: 5 h 24 min

What companies run services between Canton of St. Gallen, Switzerland and Milan, Italy?

You can take a train from Sankt Gallen to Milan via Arth-Goldau in around 5 h 24 min. Alternatively, RegioJet operates a bus from Sankt Gallen to Milan 4 times a week. Tickets cost $12 - $16 and the journey takes 5 h.

Airlines
Swiss
Website
swiss.com
Flights from Zurich to Milan Malpensa
Ave. Duration
57 min
When
Every day
Estimated price
$90 - $700
Flights from Zurich to Lugano
Ave. Duration
43 min
When
Every day
Estimated price
$75 - $310
Train operators
Südostbahn
Website
sob.ch
Train from St. Gallen to Arth-Goldau
Ave. Duration
1 h 39 min
Frequency
Hourly
Schedules at
sob.ch
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 Arth-Goldau to Milano Centrale
Ave. Duration
2 h 45 min
Frequency
Every 3 hours
Estimated price
$40 - $55
Website
orario.trenitalia.com
Train from Lugano to Milano Centrale
Ave. Duration
1 h 15 min
Frequency
Every 3 hours
Estimated price
$22 - $35
Website
orario.trenitalia.com
Swiss Railways (SBB/CFF/FFS)

The national railway company of Switzerland, Swiss Railways operates trains throughout the country and adjacent European nations including Germany, France, Italy and Austria. Tickets are sold in two classes - First and Second - with most long-distance trains offering a bistro car serving beverages and snacks. Individual tickets can be bought easily at stands, while a variety of travel passes are on offer to suit different travel needs. Swiss Railways codeshares with American Airlines and Swiss International Air Lines out of Zurich International Airport.

Contact Details
Website
sbb.ch
Train from Arth-Goldau to Milano Centrale
Ave. Duration
2 h 45 min
Frequency
Twice daily
Estimated price
$45 - $90
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Train from Rapperswil to Zürich HB
Ave. Duration
36 min
Frequency
Every 15 minutes
Estimated price
$20 - $40
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Train from Lugano to Milano Centrale
Ave. Duration
1 h 16 min
Frequency
Hourly
Estimated price
$23 - $45
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Bus operators
RegioJet
Phone
+420 542 42 42 42
Email
info@regiojet.cz
Website
regiojet.sk
Bus from St.Gallen, Lagerstrasse to Milan, Terminal Bus di Lampugnano
Ave. Duration
5 h
Frequency
4 times a week
Estimated price
$12 - $16
Schedules at
regiojet.sk
Gruppo Di Maio
Phone
+39 0827 34 117
Email
info@gruppodimaio.it
Website
gruppodimaio.it
Bus from St. Gallen to Grandate - Stazione
Ave. Duration
5 h 23 min
Frequency
Once a week
Estimated price
$18 - $26
Schedules at
gruppodimaio.it

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.