There are 5 ways to get from Milan to Balsthal by train (Trenitalia), bus, 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 Milano Centrale to Zuerich Hbtrain Ec
- Take the train from Zürich HB to Oensingentrain Ic5
5h 15mCHF 75–123Bus via Como
cheapest- Take the bus from Como Grandate to Olten Stationbus
9h 33mCHF 33–47Bus
- Take the bus from Milano, Autostazione Lampugnano to Luganobus 076 / ...
- Take the bus from Lugano Via Giacomo and Filippo Ciani to Olten Gosgerstrassebus MarinoBus 251* / ...
6h 46mDrive 308.2 km
- Drive from Milan to Balsthalcar 308.2 km
3h 20mCHF 50–72Train via Bellinzona
- Take the train from Milano Centrale to Bellinzonatrain Ec
- Take the train from Bellinzona to Oltentrain Ic21 / ...
5h 28mCHF 77–162
Milan to Balsthal by train
Questions & Answers
The cheapest way to get from Milan to Balsthal is to bus via Como which costs SFr 30 - SFr 50 and takes 9h 33m.
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 bus from Milan to Balsthal. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Balsthal, Post via Lugano Via Giacomo and Filippo Ciani, Olten, Bahnhof and Oensingen, Bahnhof. The journey, including transfers, takes approximately 6h 46m.
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 130.
It takes approximately 5h 15m to get from Milan to Balsthal, including transfers.
Milan to Balsthal bus services, operated by FlixBus, depart from Milano, Autostazione Lampugnano station.
Milan to Balsthal train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Balsthal is to train which takes 5h 15m and costs SFr 75 - SFr 130. Alternatively, you can bus, which costs and takes 6h 46m.
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. Alternatively, you can take a bus from Milano, Autostazione Lampugnano to Balsthal, Post via Lugano, Lugano Via Giacomo and Filippo Ciani, Olten Gosgerstrasse, Olten, Bahnhof, Oensingen, Bahnhof Süd, and Oensingen, Bahnhof in around 6h 46m.
- 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–100
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 65–100
- 2nd Class
- CHF 50–70
Train from Milano Centrale to Bellinzona
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- CHF 26–65
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 45–65
- 2nd Class
- CHF 26–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
- 43 min
- Frequency
- Hourly
- Estimated price
- CHF 21–25
- Website
- https://www.sbb.ch/en
Train from Bellinzona to Olten
- Ave. Duration
- 2h 11m
- Frequency
- Every 3 hours
- Estimated price
- CHF 60–110
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Bellinzona to Olten
- Ave. Duration
- 3h 29m
- Frequency
- Every 4 hours
- Schedules at
- sob.ch
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, Autostazione Lampugnano to Lugano
- Ave. Duration
- 1h 15m
- Frequency
- Every 4 hours
- Estimated price
- CHF 7–23
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Milano, Autostazione Lampugnano to Lugano
- Ave. Duration
- 1h 45m
- Frequency
- Once daily
- Estimated price
- CHF 6–20
- Website
- https://www.itabus.it/en/home
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Milano, Autostazione Lampugnano to Lugano
- Ave. Duration
- 1h 10m
- Frequency
- Once daily
- Estimated price
- CHF 7–15
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +420 222 222 221
- info@regiojet.cz
- Website
- regiojet.com
Bus from Milano, Autostazione Lampugnano to Lugano
- Ave. Duration
- 1h 20m
- Frequency
- Once a week
- Estimated price
- CHF 9–12
- Website
- https://regiojet.com/
- Phone
- +39 080 3112335
- info@marinobus.it
- Website
- marinobus.it
Bus from Lugano Via Giacomo and Filippo Ciani to Olten Gosgerstrasse
- Ave. Duration
- 2h 45m
- Frequency
- Twice a week
- Website
- https://marinobus.it/en/
- Phone
- +39 0827 34 117
- info@gruppodimaio.it
- Website
- gruppodimaio.it
Bus from Como Grandate to Olten Station
- Ave. Duration
- 6h
- Frequency
- Twice a week
- Estimated price
- CHF 24–35
- Schedules at
- gruppodimaio.it
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
Italian Lakes: Getting around by train
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Milan to Balsthal bus services, operated by FlixBus, arrive at Lugano 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.
There are 320+ hotels available in Balsthal.



































