There are 4 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 (Trenitalia)
best- Take the train from Milano Centrale to OltenEc
4h 55mCHF 80–135Bus
cheapest- Take the bus from Milano, Autostazione Lampugnano to Lugano076 / ...
- Take the bus from Lugano Via Giacomo and Filippo Ciani to Olten GosgerstrasseMarinoBus 251 / ...
6h 46mCHF 32–73Drive 308.2 km
- Drive from Milan to Balsthal308.2 km
3h 19mCHF 50–72Train via Zurich
- Take the train from Milano Centrale to Zuerich HbEc
- Take the train from Zürich HB to OensingenIc5
5h 15mCHF 79–137
Milan to Balsthal by train (Trenitalia)
Questions & Answers
The cheapest way to get from Milan to Balsthal is to bus which costs SFr 30 - SFr 75 and takes 6h 46m.
The fastest way to get from Milan to Balsthal is to drive which takes 3h 19m 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 Olten and Oensingen. The journey, including transfers, takes approximately 4h 55m.
The distance between Milan and Balsthal is 346 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 4h 55m and costs SFr 75 - SFr 140.
It takes approximately 4h 55m 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 4h 55m and costs SFr 75 - SFr 140. Alternatively, you can bus, which costs SFr 30 - SFr 75 and takes 6h 46m.
What companies run services between Milan, Italy and Balsthal, Switzerland?
Trenitalia EuroCity operates a train from Milano Centrale to Olten 4 times a day. Tickets cost CHF 65–110 and the journey takes 3h 53m. 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 Olten
- Ave. Duration
- 3h 53m
- Frequency
- 4 times a day
- Estimated price
- CHF 65–110
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 80–110
- 2nd Class
- CHF 65–90
Train from Milano Centrale to Zuerich Hb
- Ave. Duration
- 3h 17m
- Frequency
- Every 3 hours
- Estimated price
- CHF 50–100
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 65–100
- 2nd Class
- CHF 50–70
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Oensingen
- Ave. Duration
- 43 min
- Frequency
- Hourly
- Estimated price
- CHF 25–40
- Website
- https://www.sbb.ch/en
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–17
- 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
- Twice daily
- Estimated price
- CHF 6–40
- 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–13
- 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 10
- 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
- Once a week
- Estimated price
- CHF 21–29
- Website
- https://marinobus.it/en/
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 Olten station.
Yes, the driving distance between Milan to Balsthal is 308 km. It takes approximately 3h 19m to drive from Milan to Balsthal.
Book your Milan to Balsthal train tickets online with Omio.
There are 327+ hotels available in Balsthal.

























