There are 10 ways to get from Milan to Oslo by train, plane, train (Trenitalia), bus, night train, car ferry, 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 to Milano Malpensa Airport, fly, train
best- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Oslo Airport, Gardermoen (OSL)plane MXP - OSL
- Take the train from Oslo lufthavn stasjon to Oslo Strain
5h 47mkr 672–2,716Bus to Il Caravaggio International Airport, fly, train
cheapest- Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Stationbus
- Fly from Il Caravaggio International Airport (BGY) to Oslo Airport, Gardermoen (OSL)plane BGY - OSL
- Take the train from Oslo lufthavn stasjon to Oslo Strain
5h 46mkr 671–2,934Train
- Take the train from Milano Centrale to Arth-Goldautrain Ec
- Take the train from Arth-Goldau to Basel SBBtrain Ec
- Take the train from Basel SBB to Hamburg Hbftrain 20 / ...
- Take the train from Hamburg Hbf to Göteborg Centralstationtrain 344
- Take the train from Göteborg Centralstation to Oslo Strain
26h 52mkr 2,748–7,149Bus
- Take the bus from Milano, Autostazione Lampugnano to Hamburg, Zentraler Omnibusbahnhofbus N24
- Take the bus from Hamburg, Zentraler Omnibusbahnhof to Oslo bussterminalbus N613
33h 40mkr 1,252–3,562Train, night train, car ferry
- Take the train from Milano Centrale to Zuerich Hbtrain Ec
- Take the night train from Zuerich Hb to Hamburg Dammtornighttrain Nj
- Take the train from Hamburg Dammtor to Kiel Hbftrain Re7
- Take the car ferry from Port of Kiel to Oslo Vipperangencarferry
38hkr 4,034–9,508Fly from Milan Linate Airport, train
- Fly from Milan Linate Airport (LIN) to Oslo Airport, Gardermoen (OSL)plane LIN - OSL
- Take the train from Oslo lufthavn stasjon to Oslo Strain
6h 43mkr 893–3,165Train to Zurich Airport, fly, train
- Take the train from Milano Centrale to Zuerich Hbtrain
- Fly from Zurich Airport (ZRH) to Oslo Airport, Gardermoen (OSL)plane ZRH - OSL
- Take the train from Oslo lufthavn stasjon to Oslo Strain
8h 17mkr 1,829–4,248Bus via Kunowice
- Take the bus from Milano, Autostazione Lampugnano to SŁUBICE, Port Świecko, Świecko 39bus
- Take the bus from Słubice to Oslo bussterminalbus
39h 20mkr 1,960–2,487Drive 2,167.9 km
- Drive from Milan to Oslocar 2,167.9 km
20h 27mkr 4,709–6,801Drive, car train
- Drive from Milan to München Ostcar
- Take the car train from München Ost to Hamburg Hbfcartrain
- Drive from Hamburg Hbf to Oslocar
21h 28mkr 4,208–14,067
Milan to Oslo by train
Questions & Answers
The cheapest way to get from Milan to Oslo is to bus and fly and train which costs kr 650 - kr 3000 and takes 5h 46m.
The fastest way to get from Milan to Oslo is to bus and fly and train which takes 5h 46m and costs kr 650 - kr 3000.
No, there is no direct bus from Milan to Oslo. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Oslo bussterminal via Hamburg, Zentraler Omnibusbahnhof. The journey, including transfers, takes approximately 33h 40m.
No, there is no direct train from Milan to Oslo. However, there are services departing from Milano Centrale and arriving at Oslo S via Arth-Goldau, Basel SBB, Hamburg Hbf and Göteborg Centralstation. The journey, including transfers, takes approximately 26h 52m.
The distance between Milan and Oslo is 1722 km. The road distance is 2167.9 km.
The best way to get from Milan to Oslo without a car is to train which takes 26h 52m and costs kr 2700 - kr 7500.
It takes approximately 5h 47m to get from Milan to Oslo, including transfers.
Milan to Oslo bus services, operated by FlixBus, depart from Milano, Autostazione Lampugnano station.
Milan to Oslo train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Oslo is to train which takes 26h 52m and costs kr 2700 - kr 7500. Alternatively, you can bus, which costs kr 1200 - kr 3600 and takes 33h 40m.
What companies run services between Milan, Italy and Oslo, Norway?
You can take a train from Milano Centrale to Oslo S via Arth-Goldau, Basel SBB, Hamburg Hbf, and Göteborg Centralstation in around 26h 52m. Alternatively, you can take a bus from Milano, Autostazione Lampugnano to Oslo bussterminal via Hamburg, Zentraler Omnibusbahnhof in around 33h 40m.
- Website
- flysas.com
Flights from Milano Malpensa Airport to Oslo Airport, Gardermoen
- Ave. Duration
- 2h 45m
- When
- Wednesday and Sunday
- Estimated price
- kr 500–7,000
Flights from Milano Malpensa Airport to Oslo Airport, Gardermoen via Copenhagen
- Ave. Duration
- 4h 55m
- When
- Every day
- Estimated price
- kr 500–7,000
Flights from Milan Linate Airport to Oslo Airport, Gardermoen via Copenhagen
- Ave. Duration
- 4h 40m
- When
- Sunday
- Estimated price
- kr 750–2,200
Flights from Milan Linate Airport to Oslo Airport, Gardermoen via Stuttgart
- Ave. Duration
- 4h 5m
- When
- Monday
- Estimated price
- kr 750–2,200
Flights from Milan Linate Airport to Oslo Airport, Gardermoen via Munich
- Ave. Duration
- 4h 15m
- When
- Monday, Saturday, and Sunday
- Estimated price
- kr 750–2,200
Flights from Zurich Airport to Oslo Airport, Gardermoen
- Ave. Duration
- 2h 30m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- kr 950–2,400
Flights from Zurich Airport to Oslo Airport, Gardermoen via Copenhagen
- Ave. Duration
- 4h 1m
- When
- Every day
- Estimated price
- kr 950–2,400
- Website
- lufthansa.com
Flights from Milano Malpensa Airport to Oslo Airport, Gardermoen via Frankfurt
- Ave. Duration
- 5h 27m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- kr 800–3,100
Flights from Milan Linate Airport to Oslo Airport, Gardermoen via Frankfurt
- Ave. Duration
- 5h 40m
- When
- Every day
- Estimated price
- kr 1,000–3,900
Flights from Milan Linate Airport to Oslo Airport, Gardermoen via Munich
- Ave. Duration
- 8h 5m
- When
- Every day
- Estimated price
- kr 1,000–3,900
Flights from Zurich Airport to Oslo Airport, Gardermoen via Frankfurt
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- kr 850–3,400
Flights from Zurich Airport to Oslo Airport, Gardermoen via Munich
- Ave. Duration
- 4h 5m
- When
- Every day
- Estimated price
- kr 900–3,400
- Website
- norwegian.com
Flights from Milano Malpensa Airport to Oslo Airport, Gardermoen
- Ave. Duration
- 2h 40m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- kr 490–1,400
Flights from Zurich Airport to Oslo Airport, Gardermoen
- Ave. Duration
- 2h 20m
- When
- Thursday
- Estimated price
- kr 800–2,400
Flights from Il Caravaggio International Airport to Oslo Airport, Gardermoen
- Ave. Duration
- 2h 30m
- When
- Sunday
- Estimated price
- kr 700–2,700
Flights from Il Caravaggio International Airport to Oslo Airport, Gardermoen via Bergen
- Ave. Duration
- 4h 45m
- When
- Wednesday
- Estimated price
- kr 800–2,900
- Website
- swiss.com
Flights from Zurich Airport to Oslo Airport, Gardermoen
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- kr 800–3,200
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- kr 50–65
- Website
- https://www.trenord.it/en/
- Phone
- +39 02-72494949
- Website
- malpensaexpress.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- kr 177
- Website
- https://www.malpensaexpress.it/en/
- Phone
- 23 15 90 00
- flytoget@flytoget.no
- Website
- flytoget.no
Train from Oslo lufthavn stasjon to Oslo S
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- kr 220–240
- Website
- https://flytoget.no/en/
- Phone
- +47 61 05 19 10
- tog@vy.no
- Website
- vy.no
Train from Oslo lufthavn stasjon to Oslo S
- Ave. Duration
- 30 min
- Frequency
- Every 20 minutes
- Estimated price
- kr 120–190
- Website
- https://www.vy.no/en
Train from Göteborg Centralstation to Oslo S
- Ave. Duration
- 3h 32m
- Frequency
- Every 4 hours
- Estimated price
- kr 650–950
- Website
- https://www.vy.no/en
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Arth-Goldau
- Ave. Duration
- 2h 32m
- Frequency
- Hourly
- Estimated price
- kr 550–1,100
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- kr 750–1,100
- 2nd Class
- kr 550–800
Train from Arth-Goldau to Basel SBB
- Ave. Duration
- 1h 41m
- Frequency
- Twice daily
- Estimated price
- kr 370–900
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- kr 600–900
- 2nd Class
- kr 370–500
Train from Milano Centrale to Zuerich Hb
- Ave. Duration
- 3h 17m
- Frequency
- Every 2 hours
- Estimated price
- kr 650–1,300
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- kr 850–1,300
- 2nd Class
- kr 650–900
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Arth-Goldau to Basel SBB
- Ave. Duration
- 1h 41m
- Frequency
- Every 3 hours
- Estimated price
- kr 410–650
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Arth-Goldau to Basel SBB
- Ave. Duration
- 1h 41m
- Frequency
- Every 4 hours
- Schedules at
- sob.ch
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Arth-Goldau to Basel SBB
- Ave. Duration
- 1h 41m
- Frequency
- Once daily
- Estimated price
- kr 120–160
- Schedules at
- sbb-deutschland.de
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Basel SBB to Hamburg Hbf
- Ave. Duration
- 6h 43m
- Frequency
- Hourly
- Estimated price
- kr 700–2,300
- Website
- https://int.bahn.de/en
Train from Hamburg Dammtor to Kiel Hbf
- Ave. Duration
- 1h 2m
- Frequency
- Every 4 hours
- Estimated price
- kr 210–270
- Website
- https://int.bahn.de/en
- Phone
- +43 5 1717
- Website
- konzern.oebb.at
Train from Basel SBB to Hamburg Hbf
- Ave. Duration
- 9h 37m
- Frequency
- 4 times a week
- Estimated price
- kr 1,900–2,900
- Website
- https://konzern.oebb.at/en/
- Phone
- +46 77 175 75 75
- kundservice@sj.se
- Website
- sj.se
Train from Hamburg Hbf to Göteborg Centralstation
- Ave. Duration
- 9h 2m
- Frequency
- Twice a week
- Estimated price
- kr 700–1,300
- Website
- https://www.sj.se/en/
- Phone
- +43 51717
- Website
- nightjet.com
Night train from Zuerich Hb to Hamburg Dammtor
- Ave. Duration
- 11h 3m
- Frequency
- Once daily
- Estimated price
- kr 850–3,300
- Website
- https://www.nightjet.com/en/#/home
- Sleeper Carriage
- kr 3,000–3,300
- Couchette Carriage
- kr 1,800–2,100
- Seating Carriage
- kr 850–1,100
- Phone
- +49 30 2970
- Website
- bahn.de
Train from Hamburg Dammtor to Kiel Hbf
- Ave. Duration
- 1h 9m
- Frequency
- Every 30 minutes
- Estimated price
- kr 210–300
- Website
- https://int.bahn.de/en
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- urlaubs-express.de
Car train from München Ost to Hamburg Hbf
- Ave. Duration
- 4h 37m
- Frequency
- Once daily
- Estimated price
- kr 1,100–9,500
- Website
- https://urlaubs-express.de/?lang=en
- Car Single Bed
- kr 4,600–5,200
- Car Compartment
- kr 8,500–9,500
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, Autostazione Lampugnano to Hamburg, Zentraler Omnibusbahnhof
- Ave. Duration
- 17h 45m
- Frequency
- Once daily
- Estimated price
- kr 650–1,800
- Website
- https://www.flixbus.co.uk
Bus from Hamburg, Zentraler Omnibusbahnhof to Oslo bussterminal
- Ave. Duration
- 14h 55m
- Frequency
- Once daily
- Estimated price
- kr 600–1,800
- Website
- https://www.flixbus.co.uk
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- kr 90–120
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- kr 50–200
- Website
- https://autostradale.it/?lang=en-GB
- Standard Rate
- kr 150–200
- Phone
- +48 801 22 33 44
- bilety@sindbad.pl
- Website
- sindbad.pl
Bus from Milano, Autostazione Lampugnano to SŁUBICE, Port Świecko, Świecko 39
- Ave. Duration
- 17h 20m
- Frequency
- Twice a week
- Estimated price
- kr 950–1,200
- Website
- https://www.sindbad.pl/en/home
Bus from Słubice to Oslo bussterminal
- Ave. Duration
- 21h
- Frequency
- Once a week
- Estimated price
- kr 1,000–1,300
- Website
- https://www.sindbad.pl/en/home
- Phone
- +45 99 56 19 00
- Website
- colorline.no
Car ferry from Port of Kiel to Oslo Vipperangen
- Ave. Duration
- 20h
- Frequency
- Once daily
- Estimated price
- kr 2,300–4,700
- Website
- https://www.colorline.com/
- Car
- kr 4,700
- No Car
- kr 2,300
Want to know more about travelling around Norway
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
How to plan an amazing trip around Scandinavia
Read the travel guide
Italy Travel Guides
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
More Questions & Answers
Milan to Oslo bus services, operated by FlixBus, arrive at Hamburg, Zentraler Omnibusbahnhof station.
Milan to Oslo train services, operated by Trenitalia EuroCity, arrive at Arth-Goldau station.
Yes, the driving distance between Milan to Oslo is 2168 km. It takes approximately 20h 27m to drive from Milan to Oslo.
Book your Milan to Oslo train tickets online with Omio.
Book your Milan to Oslo bus tickets online with Omio and FlixBus.
There are 883+ hotels available in Oslo.















































































