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. Eurocity / ...

$80 - $130

Cheapest option

Bus FlixBus, train  •  5 h 34 min

  1. N836 / ...
  2. 27 / ...

$39 - $87

4 alternative options

Bus Ouibus, train  •  4 h 56 min

  1. Ouibus
  2. 27 / ...

$41 - $71

Drive  •  3 h 17 min

  1. 189 miles

$45 - $70

Fly from Milan Malpensa, train  •  4 h

  1. MXP - ZRH

$109 - $326

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

  1. LUG - ZRH

$126 - $318

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

Airlines
Swiss
Website
swiss.com
Flights from Milan Malpensa to Zurich
Ave. Duration
1 h
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
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
$80 - $130
Website
orario.trenitalia.com
Train from Milano Centrale to Lugano
Ave. Duration
1 h 7 min
Frequency
Every 2 hours
Estimated price
$25 - $45
Website
orario.trenitalia.com
Swiss Railways (SBB/CFF/FFS)
Website
sbb.ch
Train from Luzern to Olten
Ave. Duration
40 min
Frequency
Hourly
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
Ouibus
Website
fr.ouibus.com
Bus from Milan to Lucerne
Ave. Duration
3 h 30 min
Frequency
Every 15 minutes
Schedules at
fr.ouibus.com
Globtour
Website
globtour.com
Bus from Mailand Lampugnano to Luzern Hbf
Ave. Duration
3 h 30 min
Frequency
Once daily
Estimated price
$16 - $24
Schedules at
globtour.com
Eurolines CH
Phone
0041 (0) 844 257 224
Website
eurolines.ch
Bus from Milano Lampugnano to Luzern
Ave. Duration
3 h 25 min
Frequency
Once daily
Estimated price
$24 - $29
Book at
eurolines.ch
FlixBus
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Milan, Milan to Luzern
Ave. Duration
3 h 20 min
Frequency
Once daily
Estimated price
$14 - $24
Website
flixbus.co.uk
Marino Autolinee
Phone
+39 080 3112335
Email
info@marinobus.it
Website
marinobus.it
Bus from Milano to Lucerna
Ave. Duration
3 h 30 min
Frequency
Once daily
Estimated price
$19
Schedules at
marinobus.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.

Questions & Answers

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

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

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

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.

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