There are 11 ways to get from Oslo to Milan by train, plane, bus, 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 to Oslo Airport, Gardermoen, 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
6h 46m€105–557Train to Oslo Airport, Gardermoen, fly to Milano Malpensa Airport, train
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 5m€68–340Train
- Take the train from Oslo S to Göteborg Centralstationtrain
- Take the train from Göteborg Centralstation to Berlin Hbftrain
- Take the train from Berlin Hbf to Basel SBBtrain 12 / ...
- Take the train from Basel SBB to Luganotrain Ec
- Take the train from Lugano to Milano Centraletrain
31h 24m€351–696Bus
- Take the bus from Oslo bussterminal to Hamburg, Zentraler Omnibusbahnhofbus N613
- Take the bus from Hamburg central bus station to Milanbus FlixBus N24
33h 41m€174–267Train, night train
- Take the train from Oslo S to Malmö, Centralstationtrain 31
- Take the nighttrain from Malmö, Centralstation to Innsbruck Hauptbahnhofnighttrain Nt
- Take the train from Brennero - Brenner to Bolzano Bozentrain Re
- Take the train from Bolzano Bozen to Milano Centraletrain Fr
36h 26m€265–579Train to Oslo Airport, Gardermoen, fly to Il Caravaggio International Airport, bus
- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Il Caravaggio International Airport (BGY)plane OSL - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
6h 2m€79–217Train to Sandefjord Airport, fly to Il Caravaggio International Airport, bus
- Take the train from Oslo S to Sandefjord stasjontrain
- Fly from Sandefjord Airport (TRF) to Il Caravaggio International Airport (BGY)plane TRF - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
7h 56m€79–392Train to Oslo Airport, Gardermoen, fly to Verona Villafranca Airport, train
- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Verona Villafranca Airport (VRN)plane OSL - VRN
- Take the train from Verona Porta Nuova to Milano Centraletrain
8h 21m€140–406Bus 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 35m€214–380Drive 2,169.6 km
- Drive from Oslo to Milancar 2,169.6 km
20h 21m€416–600Drive, car train
- Drive from Oslo to Hamburg Hbfcar
- Take the cartrain from Hamburg Hbf to Lörrach Hbfcartrain
- Drive from Lörrach Hbf to Milancar
24h 18m€358–494
Oslo to Milan by train
Comparing Your Travel Options
The cheapest way to get from Oslo to Milan is to train and fly and bus which costs €75 - €220 and takes 6h 2m.
The fastest way to get from Oslo to Milan is to train and fly and bus which takes 6h 2m and costs €75 - €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 central bus station and via omodeo via cechov. The journey, including transfers, takes approximately 33h 41m.
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, Berlin Hbf, Basel SBB and Lugano. The journey, including transfers, takes approximately 31h 24m.
The distance between Oslo and Milan is 1698 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 31h 24m and costs €350 - €700.
It takes approximately 6h 46m 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 31h 24m and costs €350 - €700. Alternatively, you can bus, which costs €170 - €270 and takes 33h 41m.
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, Berlin Hbf, Basel SBB, and Lugano in around 31h 24m. Alternatively, you can take a bus from Oslo bussterminal to Milano, Autostazione Lampugnano via Hamburg central bus station, Milan, and via omodeo via cechov in around 33h 41m.
- Website
- lufthansa.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Frankfurt
- Ave. Duration
- 5h 6m
- When
- Every day
- Estimated price
- €95–340
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Munich
- Ave. Duration
- 5h 43m
- When
- Every day
- Estimated price
- €100–340
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Munich
- Ave. Duration
- 4h 40m
- When
- Every day
- Estimated price
- €85–290
Flights from Oslo Airport, Gardermoen to Verona Villafranca Airport via Munich
- Ave. Duration
- 5h 42m
- When
- Every day
- Estimated price
- €90–390
Flights from Oslo Airport, Gardermoen to Verona Villafranca Airport via Frankfurt
- Ave. Duration
- 6h 42m
- When
- Every day
- Estimated price
- €110–390
- Phone
- +47 23 15 90 00
- flytoget@flytoget.no
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €20–23
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €20–23
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €20–23
- Website
- Flytoget AS
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- €20–23
- Website
- Flytoget AS
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Oslo bussterminal to Hamburg, Zentraler Omnibusbahnhof
- Ave. Duration
- 14h 25m
- Frequency
- Once daily
- Estimated price
- €75–120
- Website
- Flixbus
Bus from Hamburg central bus station to Milan
- Ave. Duration
- 17h 45m
- Frequency
- Once daily
- Estimated price
- €95–150
- Website
- Flixbus
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
Booking & Getting There
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 21m 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.
There are 13933+ hotels available in Milan.




