There are 6 ways to get from Milan to Olten 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  •  3 h 37 min

  1. Take the train from Milano Centrale to Olten Eurocity / ...

$30 - $120

Cheapest option

Bus  •  4 h 55 min

  1. Take the bus from Grandate - Stazione to Olten

$18 - $31

4 alternative options

Train Swiss Railways (SBB/CFF/FFS)  •  4 h 22 min

  1. Take the train from Milano Centrale to Brig Eurocity / ...
  2. Take the train from Brig to Olten Eurocity / ...

$99 - $145

Drive  •  3 h 17 min

  1. Drive from Milan to Olten 189 miles

$45 - $70

Fly from Milan Malpensa, train  •  4 h

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

$110 - $326

Train to Lugano, fly, train  •  5 h 4 min

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

$129 - $306

Questions & Answers

The cheapest way to get from Milan to Olten is to bus which costs 15€ - 27€ and takes 4 h 55 min.

More details

The quickest way to get from Milan to Olten is to drive which costs 35€ - 60€ and takes 3 h 17 min.

More details

Yes, there is a direct train departing from Milano Centrale and arriving at Olten. Services depart four times a day, and operate every day. The journey takes approximately 3 h 37 min.

More details

The distance between Milan and Olten is 232 km. The road distance is 302.5 km.

Get driving directions

The best way to get from Milan to Olten without a car is to train which takes 3 h 37 min and costs 29€ - 95€.

More details

The train from Milano Centrale to Olten takes 3 h 37 min including transfers and departs four times a day.

More details

Milan to Olten train services, operated by Trenitalia Eurocity, depart from Milano Centrale station.

More details

The best way to get from Milan to Olten is to train which takes 3 h 37 min and costs 29€ - 95€. Alternatively, you can bus, which costs 15€ - 27€ and takes 4 h 55 min.

Mode details

The quickest flight from Milan Malpensa Airport to Zurich Airport is the direct flight which takes 55 min.

Search flights

Milan to Olten train services, operated by Trenitalia Eurocity, arrive at Olten station.

More details

Map of how to get from Milan to Olten.
Launch map view
  • Distance: 144.8 miles
  • Duration: 3 h 37 min

What companies run services between Milan, Italy and Olten, Switzerland?

Trenitalia Eurocity operates a train from Milan to Olten 4 times a day. Tickets cost $30 - $120 and the journey takes 3 h 37 min. Alternatively, Gruppo Di Maio operates a bus from Milan to Olten once a week. Tickets cost $13 - $19 and the journey takes 3 h 8 min.

Airlines
Swiss
Website
swiss.com
Flights from Milan Malpensa to Zurich
Ave. Duration
1 h 1 min
When
Every day
Estimated price
$90 - $700
Flights from Lugano to Zurich
Ave. Duration
51 min
When
Every day
Estimated price
$75 - $310
Train operators
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 Milano Centrale to Olten
Ave. Duration
3 h 37 min
Frequency
4 times a day
Estimated price
$30 - $120
Website
orario.trenitalia.com
Standard
$30 - $120
First
$55 - $180
Train from Milano Centrale to Brig
Ave. Duration
1 h 53 min
Frequency
Hourly
Estimated price
$43 - $46
Website
orario.trenitalia.com
Standard
$43 - $46
First
$68
Train from Milano Centrale to Lugano
Ave. Duration
1 h 7 min
Frequency
Hourly
Estimated price
$27 - $29
Website
orario.trenitalia.com
Standard
$27 - $29
First
$39
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 Brig to Olten
Ave. Duration
1 h 40 min
Frequency
Hourly
Estimated price
$55 - $100
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Train from Zürich Flughafen to Olten
Ave. Duration
47 min
Frequency
Hourly
Estimated price
$27 - $50
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Bus operators
Gruppo Di Maio
Phone
+39 0827 34 117
Email
info@gruppodimaio.it
Website
gruppodimaio.it
Bus from Grandate - Stazione to Olten
Ave. Duration
3 h 8 min
Frequency
Once a week
Estimated price
$13 - $19
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.