• Our partners include:

  • RailEurope
  • Deutsche Bahn
  • Trenitalia
  • SNCF
  • Flixbus
  • RENFE
  • Ouibus
  • BlaBlaCar
  • Booking.com
  • Skyscanner

There are 5 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 - $110

4 alternative options

Bus, train  •  5 h 41 min

  1. Take the bus from Milano Lampugnano to Luzern Ouibus
  2. Take the train from Luzern to Olten 510 / ...

$49 - $76

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

$109 - $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

$126 - $305

Questions & Answers

The cheapest way to get from Milan to Olten is to drive which costs 35€ - 60€ and takes 3 h 17 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€ - 100€.

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 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

Yes, the driving distance between Milan to Olten is 302 km. It takes approximately 3 h 17 min to drive from Milan to Olten.

Get driving directions

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 - $110 and the journey takes 3 h 37 min.

Airlines
Swiss
Website
swiss.com
Flights from Milan Malpensa to Zurich
Ave. Duration
56 min
When
Every day
Estimated price
$90 - $700
Flights from Lugano to Zurich
Ave. Duration
50 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 - $110
Website
orario.trenitalia.com
Standard
$30 - $110
First
$55 - $180
Train from Milano Centrale to Lugano
Ave. Duration
1 h 7 min
Frequency
Every 2 hours
Estimated price
$26 - $28
Website
orario.trenitalia.com
Standard
$26 - $28
First
$38
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 Luzern to Olten
Ave. Duration
47 min
Frequency
Every 30 minutes
Estimated price
$23 - $45
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Train from Zürich Flughafen to Olten
Ave. Duration
47 min
Frequency
Hourly
Estimated price
$26 - $50
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Bus operators
Eurolines CH
Phone
0041 (0) 844 257 224
Website
eurolines.ch
Bus from Milano Lampugnano to Luzern
Ave. Duration
3 h 25 min
Frequency
Twice daily
Estimated price
$24 - $29
Book at
eurolines.ch
Globtour
Website
globtour.com
Bus from Mailand Lampugnano to Luzern Hbf
Ave. Duration
3 h 30 min
Frequency
Once daily
Estimated price
$16 - $23
Schedules at
globtour.com
Ouibus

As the bus subsidiary of French railway SNCF, Ouibus offers comfortable, eco-friendly coaches serving 35 French cities and 11 European cities at affordable fares. Ouibus journeys are safe and comfortable, with the four-star coaches offering power outlets, restrooms and WiFi. All Ouibus stations are located close to town centres for easy access to public transport. Getting on one of the 130 daily journeys is easy - electronic travel documents include your ticket and a personalised mini-guide with handy information.

Contact Details
Phone
0890715298
Website
ouibus.com
Bus from Milan to Lucerne
Ave. Duration
3 h 35 min
Frequency
Once daily
Estimated price
$9 - $13
Website
Ouibus

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.

More Questions & Answers

Swiss offers flights from Milan Malpensa Airport to Zurich Airport.

Search flights

Book your Milan to Olten train tickets online with Rome2rio.

Search and book

There are 174+ hotels available in Olten. Prices start at $75 USD per night.

More details

The best way to get from Milan to Milan Malpensa Airport is to train which takes 37 min and costs 10€ - 14€.

More details