There are 6 ways to get from Milan to Balsthal by train (Trenitalia), bus, train, 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.
Train
best- Take the train from Milano Centrale to Zuerich Hbtrain Ec
- Take the train from Zürich HB to Oensingentrain Ir55 / ...
5h 15mCHF 77–169Bus, train
cheapest- Take the bus from Milano, Autostazione Lampugnano to Lucerne Landenbergstrassebus RegioJet 22
- Take the train from Luzern to Oltentrain Re24 / ...
6h 31mCHF 43–104Drive 308.2 km
- Drive from Milan to Balsthalcar 308.2 km
3h 20mCHF 50–72Train, fly
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Zurich Airport (ZRH)plane MXP - ZRH
- Take the train from Zürich HB to Oensingentrain
4h 50mCHF 96–269Train via Bellinzona
- Take the train from Milano Centrale to Bellinzonatrain Ec
- Take the train from Bellinzona to Oltentrain Ic21 / ...
5h 26mCHF 72–264Train via Locarno
- Take the train from Milano Centrale to Locarnotrain Re 80
- Take the train from Locarno to Oltentrain Ir26
8h 35mCHF 85–132
Milan to Balsthal by train
Questions & Answers
The cheapest way to get from Milan to Balsthal is to bus and train which costs SFr 40 - SFr 110 and takes 6h 31m.
The fastest way to get from Milan to Balsthal is to drive which takes 3h 20m and costs SFr 45 - SFr 75.
No, there is no direct train from Milan to Balsthal. However, there are services departing from Milano Centrale and arriving at Balsthal via Zürich HB and Oensingen. The journey, including transfers, takes approximately 5h 15m.
The distance between Milan and Balsthal is 325 km. The road distance is 308.2 km.
The best way to get from Milan to Balsthal without a car is to train which takes 5h 15m and costs SFr 75 - SFr 170.
It takes approximately 5h 15m to get from Milan to Balsthal, including transfers.
Milan to Balsthal train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
Milan to Balsthal train services, operated by Trenitalia EuroCity, arrive at Zuerich Hb station.
Yes, the driving distance between Milan to Balsthal is 308 km. It takes approximately 3h 20m to drive from Milan to Balsthal.
Book your Milan to Balsthal train tickets online with Omio.
What companies run services between Milan, Italy and Balsthal, Switzerland?
You can take a train from Milano Centrale to Balsthal via Zuerich Hb, Zürich HB, and Oensingen in around 5h 15m.
- Website
- swiss.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 58 min
- When
- Every day
- Estimated price
- CHF 65–190
- Website
- ethiopianairlines.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- CHF 50–180
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Zuerich Hb
- Ave. Duration
- 3h 17m
- Frequency
- Every 2 hours
- Estimated price
- CHF 50–95
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 65–95
- 2nd Class
- CHF 50–70
Train from Luzern to Olten
- Ave. Duration
- 34 min
- Frequency
- Once daily
- Estimated price
- CHF 18–60
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 40–60
- 2nd Class
- CHF 18–24
Train from Milano Centrale to Bellinzona
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- CHF 25–65
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 45–65
- 2nd Class
- CHF 25–35
Train from Bellinzona to Olten
- Ave. Duration
- 2h 11m
- Frequency
- Once daily
- Estimated price
- CHF 40–85
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 60–85
- 2nd Class
- CHF 40–60
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Oensingen
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- CHF 23–70
- Website
- https://www.sbb.ch/en
Train from Luzern to Olten
- Ave. Duration
- 47 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 17–50
- Website
- https://www.sbb.ch/en
Train from Bellinzona to Olten
- Ave. Duration
- 2h 11m
- Frequency
- Every 3 hours
- Estimated price
- CHF 60–180
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Luzern to Olten
- Ave. Duration
- 34 min
- Frequency
- Every 3 hours
- Estimated price
- CHF 20–30
- Schedules at
- sob.ch
Train from Bellinzona to Olten
- Ave. Duration
- 3h 29m
- Frequency
- Every 4 hours
- Estimated price
- CHF 50–80
- Schedules at
- sob.ch
Train from Locarno to Olten
- Ave. Duration
- 3h 55m
- Frequency
- Every 4 hours
- Estimated price
- CHF 65–100
- Schedules at
- sob.ch
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4–5
- Website
- https://www.trenord.it/en/
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 7–10
- Website
- https://www.trenord.it/en/
- Phone
- +420 222 222 221
- info@regiojet.cz
- Website
- regiojet.com
Bus from Milano, Autostazione Lampugnano to Lucerne Landenbergstrasse
- Ave. Duration
- 3h 40m
- Frequency
- Once a week
- Estimated price
- CHF 14–21
- Website
- https://regiojet.com/
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.
Related travel guides
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Italy Travel Guides
Read the travel guide
Italian Lakes: Getting around by train
Read the travel guide
More Questions & Answers
There are 340+ hotels available in Balsthal.





















