There are 8 ways to get from Oslo to Milan by train, plane, bus, car ferry, night train, car, or car train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train, fly to Milan Linate Airport
best- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Milan Linate Airport (LIN)plane OSL - LIN
7h€77–263Train, fly to Milano Malpensa Airport
cheapest- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Milano Malpensa Airport (MXP)plane OSL - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
6h 3m€60–215Train
- Take the train from Oslo S to Göteborg Centralstationtrain
- Take the train from Göteborg Centralstation to Hamburg Hbftrain
- Take the train from Hamburg Hbf to Basel SBBtrain 20 / ...
- Take the train from Basel SBB to Luganotrain Ec
- Take the train from Lugano to Milano Centraletrain Ec
28h 41m€234–614Bus
- Take the bus from Oslo bussterminal to Hamburg, Zentraler Omnibusbahnhofbus N613
- Take the bus from Hamburg, Zentraler Omnibusbahnhof to Milano, Autostazione Lampugnanobus N24
33h 10m€91–278Car ferry, train, night train
- Take the car ferry from Oslo Vipperangen to Port of Kielcarferry
- Take the train from Kiel Hbf to Hamburg Hbftrain Re7
- Take the night train from Hamburg Hbf to Zuerich Hbnighttrain Nj
- Take the train from Zürich HB to Como S. Giovannitrain Ec
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
39h 35m€381–890Bus via Kunowice
- Take the bus from Oslo bussterminal to Słubicebus
- Take the bus from SŁUBICE, Port Świecko, Świecko 39 to Milano, Autostazione Lampugnanobus
39h 20m€162–221Drive 2,169.6 km
- Drive from Oslo to Milancar 2,169.6 km
20h 27m€401–578Drive, car train
- Drive from Oslo to Hamburg Hbfcar
- Take the car train from Hamburg Hbf to München Ostcartrain
- Drive from München Ost to Milancar
21h 24m€361–1,183
Oslo to Milan by train
Questions & Answers
The cheapest way to get from Oslo to Milan is to train and fly which costs €60 - €220 and takes 6h 3m.
The fastest way to get from Oslo to Milan is to train and fly which takes 6h 3m and costs €60 - €220.
No, there is no direct bus from Oslo to Milan. However, there are services departing from Oslo bussterminal and arriving at Milano, Autostazione Lampugnano via Hamburg, Zentraler Omnibusbahnhof. The journey, including transfers, takes approximately 33h 10m.
No, there is no direct train from Oslo to Milan. However, there are services departing from Oslo S and arriving at Milano Centrale via Göteborg Centralstation, Hamburg Hbf, Basel SBB and Lugano. The journey, including transfers, takes approximately 28h 41m.
The distance between Oslo and Milan is 1697 km. The road distance is 2169.6 km.
The best way to get from Oslo to Milan without a car is to train which takes 28h 41m and costs €230 - €650.
It takes approximately 7h to get from Oslo to Milan, including transfers.
Oslo to Milan bus services, operated by FlixBus, depart from Oslo bussterminal station.
Oslo to Milan train services, operated by Norwegian Railways (VY), depart from Oslo S station.
The best way to get from Oslo to Milan is to train which takes 28h 41m and costs €230 - €650. Alternatively, you can bus, which costs €90 - €280 and takes 33h 10m.
What companies run services between Oslo, Norway and Milan, Italy?
You can take a train from Oslo S to Milano Centrale via Göteborg Centralstation, Hamburg Hbf, Basel SBB, and Lugano in around 28h 41m. Alternatively, you can take a bus from Oslo bussterminal to Milano, Autostazione Lampugnano via Hamburg, Zentraler Omnibusbahnhof in around 33h 10m.
- Website
- flysas.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Copenhagen
- Ave. Duration
- 5h 15m
- When
- Sunday
- Estimated price
- €50–180
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Wednesday and Sunday
- Estimated price
- €45–600
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Copenhagen
- Ave. Duration
- 4h 46m
- When
- Every day
- Estimated price
- €45–600
- Website
- lufthansa.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Frankfurt
- Ave. Duration
- 5h 1m
- When
- Every day
- Estimated price
- €75–310
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Munich
- Ave. Duration
- 7h
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €75–320
- Website
- brusselsairlines.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Brussels
- Ave. Duration
- 5h 10m
- When
- Monday, Tuesday, and Saturday
- Estimated price
- €65–260
- Website
- ita-airways.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Hamburg
- Ave. Duration
- 4h 35m
- When
- Friday and Sunday
- Estimated price
- €60–240
- Website
- norwegian.com
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- €40–120
- Website
- swiss.com
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Zurich
- Ave. Duration
- 5h 5m
- When
- Every day
- Estimated price
- €60–250
- Phone
- 23 15 90 00
- flytoget@flytoget.no
- Website
- flytoget.no
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €18–21
- Website
- https://flytoget.no/en/
- Phone
- +47 61 05 19 10
- tog@vy.no
- Website
- vy.no
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 30 min
- Frequency
- Every 20 minutes
- Estimated price
- €10–16
- Website
- https://www.vy.no/en
Train from Oslo S to Göteborg Centralstation
- Ave. Duration
- 3h 31m
- Frequency
- Every 4 hours
- Estimated price
- €55–80
- Website
- https://www.vy.no/en
- Phone
- +46 77 175 75 75
- kundservice@sj.se
- Website
- sj.se
Train from Göteborg Centralstation to Hamburg Hbf
- Ave. Duration
- 9h 59m
- Frequency
- Twice a week
- Estimated price
- €75–140
- Website
- https://www.sj.se/en/
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Hamburg Hbf to Basel SBB
- Ave. Duration
- 7h 37m
- Frequency
- Hourly
- Estimated price
- €60–160
- Website
- https://int.bahn.de/en
Train from Kiel Hbf to Hamburg Hbf
- Ave. Duration
- 1h 6m
- Frequency
- Every 3 hours
- Estimated price
- €31–35
- Website
- https://int.bahn.de/en
- Phone
- +43 5 1717
- Website
- konzern.oebb.at
Train from Hamburg Hbf to Basel SBB
- Ave. Duration
- 10h 10m
- Frequency
- 5 times a week
- Estimated price
- €160–240
- Website
- https://konzern.oebb.at/en/
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Basel SBB to Lugano
- Ave. Duration
- 2h 55m
- Frequency
- Every 2 hours
- Estimated price
- €55–110
- Website
- https://www.sbb.ch/en
Train from Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €23–45
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Estimated price
- €70–130
- Website
- https://www.sbb.ch/en
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 49 min
- Frequency
- Twice a week
- Estimated price
- €22–45
- Website
- https://www.sbb.ch/en
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Basel SBB to Lugano
- Ave. Duration
- 3h 21m
- Frequency
- Once daily
- Estimated price
- €20–25
- Schedules at
- sbb-deutschland.de
- Phone
- +49 30 2970
- Website
- bahn.de
Train from Kiel Hbf to Hamburg Hbf
- Ave. Duration
- 1h 14m
- Frequency
- Every 30 minutes
- Estimated price
- €18–26
- Website
- https://int.bahn.de/en
- Phone
- +43 51717
- Website
- nightjet.com
Night train from Hamburg Hbf to Zuerich Hb
- Ave. Duration
- 11h 54m
- Frequency
- Once daily
- Estimated price
- €75–280
- Website
- https://www.nightjet.com/en/#/home
- Sleeper Carriage
- €260–280
- Couchette Carriage
- €150–180
- Seating Carriage
- €75–95
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 02-72494949
- Website
- malpensaexpress.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €15
- Website
- https://www.malpensaexpress.it/en/
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- urlaubs-express.de
Car train from Hamburg Hbf to München Ost
- Ave. Duration
- 4h 37m
- Frequency
- Once daily
- Estimated price
- €100–800
- Website
- https://urlaubs-express.de/?lang=en
- Car Single Bed
- €390–440
- Car Compartment
- €700–800
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Oslo bussterminal to Hamburg, Zentraler Omnibusbahnhof
- Ave. Duration
- 14h 25m
- Frequency
- Once daily
- Estimated price
- €45–150
- Website
- https://www.flixbus.co.uk
Bus from Hamburg, Zentraler Omnibusbahnhof to Milano, Autostazione Lampugnano
- Ave. Duration
- 17h 45m
- Frequency
- Once daily
- Estimated price
- €45–130
- Website
- https://www.flixbus.co.uk
- Phone
- +48 801 22 33 44
- bilety@sindbad.pl
- Website
- sindbad.pl
Bus from Oslo bussterminal to Słubice
- Ave. Duration
- 21h 50m
- Frequency
- Once a week
- Estimated price
- €80–120
- Website
- https://www.sindbad.pl/en/home
Bus from SŁUBICE, Port Świecko, Świecko 39 to Milano, Autostazione Lampugnano
- Ave. Duration
- 16h 30m
- Frequency
- Twice a week
- Estimated price
- €80–110
- Website
- https://www.sindbad.pl/en/home
- Phone
- +45 99 56 19 00
- Website
- colorline.no
Car ferry from Oslo Vipperangen to Port of Kiel
- Ave. Duration
- 20h
- Frequency
- Once daily
- Estimated price
- €196–401
- Website
- https://www.colorline.com/
- Car
- €401
- No Car
- €196
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
How to plan an amazing trip around Scandinavia
Read the travel guide
Getting to Milan from the airport
Read the travel guide
More Questions & Answers
Oslo to Milan bus services, operated by FlixBus, arrive at Hamburg, Zentraler Omnibusbahnhof station.
Oslo to Milan train services, operated by Norwegian Railways (VY), arrive at Göteborg Centralstation.
Yes, the driving distance between Oslo to Milan is 2170 km. It takes approximately 20h 27m to drive from Oslo to Milan.
Book your Oslo to Milan train tickets online with Omio.
Book your Oslo to Milan bus tickets online with Omio and FlixBus.
There are 13605+ hotels available in Milan.
























































