There are 7 ways to get from Solothurn 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.
Train via Zurich
best- Take the train from Solothurn to Zürich HBtrain Ic5
- Take the train from Zürich HB to Como S. Giovannitrain Ec
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
5h 49m€105–346Bus
cheapest- Take the bus from Olten Station to Aresebus
9h 37m€43–78Train, bus
- Take the train from Solothurn to Zürich HBtrain Ic5 / ...
- Take the bus from Zurich Central Bus Station Sihlquai to Milano, Autostazione Lampugnanobus RegioJet 22
6h 20m€50–115Drive 322.6 km
- Drive from Solothurn to Milancar 322.6 km
3h 29m€56–81Train to Zurich Airport, fly to Milano Malpensa Airport, train
- Take the train from Solothurn to Zürich Flughafentrain
- Fly from Zurich Airport (ZRH) to Milano Malpensa Airport (MXP)plane ZRH - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
4h 8m€108–292Train
- Take the train from Olten to Bellinzonatrain Ec / ...
- Take the train from Bellinzona to Como S. Giovannitrain S10 / ...
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
5h 53m€69–213Fly Basel to Milan Linate Airport
- Fly from Basel (BSL) to Milan Linate Airport (LIN)plane BSL - LIN
7h 5m€118–361
Solothurn to Milan by train
Questions & Answers
The cheapest way to get from Solothurn to Milan is to bus which costs €40 - €80 and takes 9h 37m.
The fastest way to get from Solothurn to Milan is to drive which takes 3h 29m and costs €55 - €80.
No, there is no direct train from Solothurn to Milan. However, there are services departing from Solothurn and arriving at Milano Porta Garibaldi via Zürich HB and Como S.Giovanni. The journey, including transfers, takes approximately 5h 49m.
The distance between Solothurn and Milan is 342 km. The road distance is 322.6 km.
The best way to get from Solothurn to Milan without a car is to train via Zurich which takes 5h 49m and costs €100 - €350.
It takes approximately 5h 49m to get from Solothurn to Milan, including transfers.
Solothurn to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Solothurn station.
The best way to get from Solothurn to Milan is to train via Zurich which takes 5h 49m and costs €100 - €350. Alternatively, you can bus, which costs €40 - €80 and takes 9h 37m, you could also fly, which costs €110 - €370 and takes 7h 5m.
Solothurn to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Zürich HB station.
Yes, the driving distance between Solothurn to Milan is 323 km. It takes approximately 3h 29m to drive from Solothurn to Milan.
What companies run services between Solothurn, Canton of Solothurn, Switzerland and Milan, Italy?
You can take a train from Solothurn to Milano Porta Garibaldi via Zürich HB and Como S.Giovanni in around 5h 49m. Alternatively, Gruppo Di Maio operates a bus from Olten Station to Arese twice a week. Tickets cost €28–40 and the journey takes 6h 40m.
- Website
- lufthansa.com
Flights from Basel to Milan Linate Airport via Munich
- Ave. Duration
- 3h 10m
- When
- Monday to Saturday
- Estimated price
- €100–280
Flights from Basel to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- €100–280
- Website
- swiss.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- €70–140
- Website
- airdolomiti.it
Flights from Basel to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 15m
- When
- Every day
- Estimated price
- €100–280
- Website
- ethiopianairlines.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €55–200
- Website
- austrian.com
Flights from Basel to Milan Linate Airport via Vienna
- Ave. Duration
- 3h 50m
- When
- Tuesday to Saturday
- Estimated price
- €95–380
- Website
- easyjet.com
Flights from Basel to Milan Linate Airport via Figari
- Ave. Duration
- 5h
- When
- Wednesday
- Estimated price
- €130–260
- Website
- airfrance.com
Flights from Basel to Milan Linate Airport via Paris Charles de Gaulle
- Ave. Duration
- 6h 30m
- When
- Saturday
- Estimated price
- €60–350
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Solothurn to Zürich HB
- Ave. Duration
- 55 min
- Frequency
- Every 30 minutes
- Estimated price
- €30–90
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Every 2 hours
- Estimated price
- €70–210
- Website
- https://www.sbb.ch/en
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 2m
- Frequency
- Once daily
- Estimated price
- €16–50
- Website
- https://www.sbb.ch/en
Train from Solothurn to Zürich Flughafen
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- €30–100
- Website
- https://www.sbb.ch/en
Train from Olten to Bellinzona
- Ave. Duration
- 2h 12m
- Frequency
- Every 3 hours
- Estimated price
- €65–190
- Website
- https://www.sbb.ch/en
Train from Bellinzona to Como S. Giovanni
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- €18–55
- Website
- https://www.sbb.ch/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Bellinzona to Como S. Giovanni
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- €3–4
- Website
- https://www.trenord.it/en/
- Phone
- +41 58 580 70 70
- Website
- sob.ch
Train from Olten to Bellinzona
- Ave. Duration
- 3h 30m
- Frequency
- Every 3 hours
- Estimated price
- €50–75
- Schedules at
- sob.ch
- Phone
- +420 222 222 221
- info@regiojet.cz
- Website
- regiojet.com
Bus from Zurich Central Bus Station Sihlquai to Milano, Autostazione Lampugnano
- Ave. Duration
- 4h 25m
- Frequency
- Once a week
- Estimated price
- €19–29
- Website
- https://regiojet.com/
- Phone
- +39 0827 34 117
- info@gruppodimaio.it
- Website
- gruppodimaio.it
Bus from Olten Station to Arese
- Ave. Duration
- 6h 40m
- Frequency
- Twice a week
- Estimated price
- €28–40
- 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.
Related travel guides
Italy Travel Guides
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Getting to Milan from the airport
Read the travel guide
More Questions & Answers
Book your Solothurn to Milan train tickets online with Omio.
There are 2002+ hotels available in Milan.



















